麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

使用 Realm 和 Swift 創建 ToDo 應用

2019-11-09 17:54:45
字體:
來源:轉載
供稿:網友

本文轉載于SwiftGG 智能手機的快速發展的同時,涌現出了很多對開發者友好的開發工具。這些工具不僅使得開發變得更加簡單和容易,同時也保證了性能和產品質量。如今想要在 App Store 中占據一席之地,并非易事。而且想要使得應用易于擴展就更加困難了。當你成功獲得百萬量級的用戶時,應用中的每一個細節都不能放過,并且需要在很短的時間完成對細節的打磨。所以和數據庫打交道,是很多開發者都會面臨的一個問題。相信我們每個人都會因為數據庫引起的各種問題而頭疼不已,對于數據庫,我想如今我們只有兩種選擇:SQLite 和 Core Data。我是 Core Data 的忠實粉絲,它對記錄(records)的處理和持久化數據的能力非常強大,但是我意識到,在開發應用的過程中,我在 Core Data 上浪費了太多的時間。最近,我無意中發現了 Realm,一個可以替代 SQLite 和 Core Data 的更好的解決方案。

Realm 是什么?


Realm 是一個跨平臺的移動終端數據庫,支持 iOS(Swift 和 Objective-C 語言都支持)和 Android。Realm 的目的就是提供比 SQLite 和 Core Data 更好更快的數據庫支持。它不僅僅是更好和更快,而且更加易于使用,短短幾行代碼就可以完成很多操作。Realm 完全免費,你可以隨意使用它。Realm 是為移動設備而生的,因為在過去的十年中,移動終端的數據庫技術沒有任何的革新。現在如果和移動終端的數據庫打交道,你只有一種選擇,使用 SQLite 或者是底層封裝了 SQLite 的技術比如 Core Data。Realm 的目的是更加易用,它并不是一個建立在 SQLite 之上的 ORM,而是一個基于自己的持久化引擎,簡單并且快速的面向對象移動數據庫。 這里寫圖片描述

為什么選擇 Realm?


Realm擁有令人難以置信的速度并且使用起來非常簡單,你會發現,無論是想完成數據庫的讀還是寫操作,都只需要短短的幾行代碼。下面我會列出它的所有優勢,并說明為什么 Realm 是你在移動應用上數據庫的不二選擇:

安裝簡單:在下一個章節 — 如何使用 Realm 中你會了解到,安裝 Realm 會比你想象的更為簡單。使用簡單的 Cocoapods 命令,你就可以完成所有的安裝工作。

速度更快:使用 Realm 庫操作數據庫的速度非常快。它比 SQLite 和 CoreData 都更加快速,這里有它們之間的比較指標作為證據。

跨平臺:Realm 的數據庫文件是跨平臺的,可以在 iOS 和 Android 間共享。無論你是使用 java、Objective-C 或者 Swift,都可以使用相同的抽象模型訪問。

易于擴展:如果你的移動應用需要處理大量的用戶數據記錄,數據庫的可擴展性就顯得十分重要。在開始著手開發應用之前,這一點就應該被考慮在內。Realm 提供很好的可擴展性,在操作大量的數據時,速度也非常之快。選擇使用 Realm 可以為你的應用帶來更快的速度和更加流暢的用戶體驗。

規范的文檔和很好的支持:Realm 提供了豐富的大量條理清晰、易于閱讀的文檔。如果你有任何的問題,你也可以通過 Twitter、Github 或 Stackoverflow 來獲得幫助。

可信任:Realm 已經被大量的初創公司和大公司用于它們的移動應用中,像 Pinterest、Dubsmash 和 Hipmunk。

免費:除了以上這些極好的優點以外,它還是完!全!免!費!的!

讓我們開始動手吧


讓我們開始學習 Realm,使用它來構建一個簡單的使用 Swift 語言的 iPhone 應用。所完成的 demo 程序是一個簡單的 Todo 應用。用戶可以增加任務清單,每個任務清單都能夠包含多個任務。任務擁有名稱、備注、到期日期,可以添加圖片,并且擁有一個布爾值來表示該任務是否已經完成。在開始創建 Xcode 項目之前,我們需要先配置好 Xcode,安裝使用 Realm 所需的工具。

環境要求


請注意需要滿足下列要求

iOS 8 及更高的版本,OS X 10.9 及更高的版本

Xcode 6.3 及更高版本

Realm 有兩個發行版,一個針對 Swift 2.0,另一個針對 Swift 1.2。我們推薦您使用 Swift 2.0 的版本。當然你也可以使用針對 Swift 1.2 的版本,但是以后這個版本 Realm 不會再進行更新支持,所以為了保險起見,使用 Swift 2.0 對應的版本,是個更好的選擇。

配置 Xcode 和所需的工具


在開始配置 Xcode 項目之前,請確保運行環境已經正確安裝了 CocoaPods,我們將使用它來為項目安裝 Realm。如果對 CocoaPods 不熟悉,你可以查看在線的教程,這些教程的材料足夠讓你明白如何開始使用它。

現在,使用 Single View application 項目模板創建一個 Xcode 工程,命名為 RealmTasks 或者其他你喜歡的名字。請確保選擇 Swift 作為開發語言。之后在終端中進入到該工程目錄,使用如下命令來初始化 CocoaPods:

pod init

然后使用 Xcode 打開生成的 Podfile 文件,在 target 之后,添加 pod 'RealmSwift',修改完之后,應該是下面這個樣子: 這里寫圖片描述

下面運行 pod install 命令來把 Realm 下載安裝到項目中。完成之后,你會在你的工程文件目錄發現一個新生成的 Xcode 工作空間。請確保打開 RealmTasks.xcworkspace 而不是 xcodePRoj。打開工作空間后,你會看到像下面這樣的情形: 這里寫圖片描述

現在就可以在 Xcode 中使用 Realm 啦,但是我們將安裝下面的小工具來讓使用 Realm 的過程更加容易。

在 Xcode 中安裝 Realm 插件


Realm 開發團隊提供了一個生成 Realm 模型非常有用的插件。為了安裝這個插件,我們要使用 Alcatraz。如果你不知道 Alcatraz 是什么的話,這里解釋一下,它是一個簡單有用的開源包管理工具,它可以讓你無需任何配置,自動地為 Xcode 安裝插件、文件模板和顏色主題。為了安裝 Alcatraz,你只需將以下代碼復制到終端中執行,之后重啟 Xcode:

curl -fsSL https://raw.githubusercontent.com/supermarin/Alcatraz/master/Scripts/install.sh | sh

然后在 Xcode 中,選擇 Window -> Package Manager,如下圖: 這里寫圖片描述

然后在彈出的窗口中,你可以選擇安裝你喜歡的插件或者文件模板,在搜索框中你可以搜索你喜歡的插件、配色。在搜索框輸入「Realm」,在出現的結果中選擇「RealmPlugin」,點擊 Install 按鈕 這里寫圖片描述

Realm 瀏覽器


給大家介紹的最后一個工具是 Realm 瀏覽器。這個瀏覽器可以幫助你閱讀和編輯你的 .realm 數據庫文件。這些文件在應用程序中被創建,在數據庫表中保存了所有的數據實體(entities)、屬性(attributes)和記錄(records)。之前我們說過,這些數據庫文件可以在像 iOS 和 Android 這樣不同的平臺間共享。想要下載最新版本的 Realm 瀏覽器,請訪問 iTunes store。打開 Realm 瀏覽器,選擇 Tools -> Generate demo database。它會幫你生成 realm 數據庫測試文件,你可以使用該瀏覽器打開和編輯它的內容。當你打開的時候,你會看到像下面的內容: 這里寫圖片描述 正如你所見,在 RealmTestClass1 中,它擁有 1000 條記錄,顯示了多種不同的參數類型(即「列」)。我們會在下節介紹支持的屬性類型。

現在,Realm 的所有準備工作都已就緒,那我們開始動手吧!

數據模型類


好戲才剛剛開始。首先我們來創建模型類或者說我們的數據庫。為了創建 Realm 數據模型類,你只需要簡單地新建一個普通的 Swift 類繼承自 Object 就可以了。因為 Realm 數據模型類的基類是 Object,所以 Object 的子類都可以擴展為 Realm 的模型類。一旦創建類后,就可以添加屬性了。Realm 支持以下多種數據類型:

– Int,Int8,Int16,Int32 和 Int64 – Boolean – Float – String – NSDate – NSData – 繼承自 Object 的類 => 作為一對一關系(Used for One-to-one relations) – List => 作為一對多關系(Used for one-to-many relations)

Realm 中的 List 可以包含多個 Object 實例,參考上面 demo 數據庫的截圖,最后一列表示在其他數據表中的存在的一組引用。在和 Realm 模型類打交道的時候,使用的方式和其他 Swift 類一樣。例如,你可以添加方法或者遵循指定的協議。

多說無益,來看代碼 ??

現在讓我們使用之前在 Xcode 中安裝的 Realm 插件來新建一個 Realm 類。打開 Xcode,新建文件,在右邊的側邊欄選擇 Realm: 這里寫圖片描述


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲精品一区国产精品丝瓜 | 中国女警察一级毛片视频 | 1314av| 黄色久 | 午夜小视频免费观看 | 欧美在线中文字幕 | 色妞视频男女视频 | 国产亚洲精品综合一区91555 | 中国免费黄色 | 欧美人一级淫片a免费播放 久久久久久久久91 国产99久久久久久免费看 | 久久久久女人精品毛片九一 | 亚洲精品成人久久久 | 精品国产91久久久久久 | 曰批全过程120分钟免费69 | 中国洗澡偷拍在线播放 | 高潮激情aaaaa免费看 | 色婷婷久久一区二区 | 国产精品视频一区二区三区四 | 欧美亚洲国产成人 | 日本欧美一区二区 | 92自拍视频| 中文字幕在线看第二 | 久久精品高清 | 欧美a一| www.99久| 成人做爰www免费看 欧美精品免费一区二区三区 | 国产免费永久在线观看 | 激情九九 | 日本高清无遮挡 | 成人毛片视频免费看 | 国产精品成人av片免费看最爱 | 欧美精品成人一区二区在线观看 | 7777视频 | 欧美视频一区二区三区在线观看 | 国产精品午夜一区 | 欧美日韩一区,二区,三区,久久精品 | 成人一区二区三区四区 | 午夜精品影院 | 免费在线观看亚洲 | 俄罗斯16一20sex牲色另类 | 欧美日日操 |