使用Realm和Swift编写一个ToDo应用
使用Realm和Swift编写一个ToDo应用
在去年智能手机的大更新之后,很多工具也同时被开发出来了。这些工具让我们开发者发布一个高性能、高质量的应用的变的更加简单了。在应用商店获得高排名以及不再很容易。而且让应用更容易拓展也是很困难的一件事。当你的应用成功的拥有百万级别的用户的时候,你需要注意应用中的所有事情以及所有操作。因此,现在每个开发者都需要面临的一个问题就是处理数据库。而这又是一件让人感到非常头疼的事情,大多数的开发者会在SQLite和Core Data中挑选一个。曾经我是Core Data的拥趸,因为它在处理数据以及持久化数据方面功能非常强大。但是后来我发现使用Core Data会浪费很多时间。现在我会使用Realm,该框架能够很好的替换SQLite和Core Data。 Realm是什么Realm是一个跨平台的手机端数据库支持iOS(Swift和Object双语言版本)、安卓。相比于SQLite和Core Data更好也更快。除此之外,它的使用也很方便之需要几行代码就可以搞定。Realm是一个开源产品你可以免费试用。Realm之所以会出现是因为在过去的十年中移动数据库没有任何可喜的更新。过去在处理移动数据库的时候,你几乎只能选择SQLite或者在其基础上进行封装的Core Data。因为Realm并不是一个ORM(对象关系映射)且有自己的持久化引擎使得Realm容易使用并且拥有很好的性能和速度。 为什么选择RealmRealm快的难以置信并且易用,你能看见任何你需要的东西,并且只需要几行代码就可以完成数据库的读写操作。这里我会列出所有在移动端使用Realm的好处和理由:
开始干活让我们Realm使用教程,并用它创建一个Swift语言版本的iPhone简单Todo应用。用户在该应用中可以添加多个任务链表,每个链表里面又会有多个任务。每个任务都有一个标题、备注、到期时间,一个图像附件以及一个标记是否完成的标记量。在开始编写工程之前我们首先需要配置Xcode并安装Realm工作所需的一个工具。 需要的条件下列条件必须满足:
配置Xcode并安装工具再开始配置Xcode之前请确保你已经安装了CocoaPods,我们需要使用它在Xcode工程中安装Realm。如果你对CocoaPods不熟悉的话,你可以去官网操作安装教程。 现在,我们创建一个"Single View Application"模版的工程,并将工程命名为“RealmTasks”或者你喜欢的名称。请确保使用的是Swift语言。接下来我们在终端中切换到当前工程的目录并按照下面步骤初始化工程的CocoaPods。 pod init 使用编辑器生成的文件podfile,并在文件中添加如下内容:
接下来运行命令"pod install"去下载安装Realm到你的工程里面。当安装完成后,你会发现文件夹下面又一个新的Xcode workspace被创建了。打开RealmTasks.xcworkspace文件,你会看见如下界面: 现在Realm已经能够使用了,但是我们还是安装一些工具类帮助我们更加容易的使用Realm。 安装Realm插件Realm团队为Xcode提供了很好的插件,该插件能够创建Realm模型。我们使用Alcatraz来安装这个插件。该工具可以很好的帮助你自动安装那些开源的插件,模版、颜色主题。对于那些不知道Alcatrza的开发者来说,这可以节省很多的时间和精力。直接使用下面的命令安装Alcatrza: curl -fsSL https://raw.githubusercontent.com/supermarin/Alcatraz/deploy/Scripts/install.sh | sh 接下来在Xcode中选择Window菜单栏下面的Package Manager,如下图:
在弹出的窗口中选择你需要安装的类型,并在搜索框中输入对应的插件、模版或者主题。我们选择Plugins,输入"Realm",在出现的结果里面选择"RealmPlugin"并安装。如下图:
Realm Browser最后一个工具是Realm Browser。该浏览器可以帮助你查看或者编辑你的.realm数据库文件。这些数据文件在你的应用中被创建出来,并且包含了里面的实体、属性、以及数据表中的纪录。这些文件如之前所说的一样可以在像iOS、Android这样不同的平台之间分享。你可以在iTunes store下载到最新版本的工具。打开该应用选择Tools -> Genetate demo database,应用会为你新建一个测试数据库文件你可以在浏览器中看到所有的纪录。如下图:
正如上图显示的,类RealmTestClass1有1000条纪录以及不同类型的参数(列)。我们会在下面接受它支持的类型。 现在一切准备工作都已经完成了。开始编码吧。 数据库Model类游戏开始了!首先我们需要新建一个模型类。可以通过创建一个继承与Object的Swift类。考虑到Object是所有Realm model类的基类,你可以拓展任何拓展自Obeject的Realm model类。当你创建自己的类的时候,理所当然你需要定义属性。Realm支持下面各种类型的属性:
List在Realm类中表示对象实例的集合,就像上面演示数据库截图表示的那样。截图中的最后一列就是一个存在于另一张表中纪录指针的数组。在使用Realm模型类的时候,你可以像对待其他Swift类一样对待它。例如,你可以在类里面添加函数方法,协议。 Talk is cheap,show me the code (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- vb开发APK安卓应用BASIC语法写手机程序
- 华为:Access、Hybrid和Trunk三种模式的理解
- c# – 尝试在InstalledLocation StorageFolder中创建文件同
- ruby-on-rails – ruby?? 2.3无法运行“rake routes”
- 个人学习笔记8之--关于OVER子句 多属性的比较 PIVOT 聚合问
- 详解vue表单验证组件 v-verify-plugin
- objective-c – 如何为QuickLook插件开发/创建GUI?
- XML与DataSet的相互转换
- c# – 这是单一责任原则的一个例子吗?
- Manifest.xml 中android:windowSoftInputMode属性详解