Swift 4中iOS的Realm数据库入门
在 programmingwithswift.github.io上 查看我的其他帖子
如果您正在寻找深入的Realm Database教程,那么这不是适合您的文章。 我将通过xcode创建一个新项目,将Realm添加到您的项目中,然后再介绍Realm的基本用法。
将Realm数据库添加到项目中的第一步是下载它。
我将使用CocoaPods进行此操作。 如果您尚未安装CocoaPods,则可以通过转到项目的根目录并运行此命令sudo gem install cocoapods
来轻松安装它。
之后,您需要运行pod repo update
。 此命令将更新CocoaPods,以便它了解Realm的最新版本。
接下来,您需要创建一个Podfile。 为此,在项目的根目录中创建一个名为“ Podfile”的新文件。 现在,您需要打开该文件,并添加以下内容。
目标'{YourProjectName}'做
use_frameworks!
pod'RealmSwift'
结束
请记住将{YourProjectName}更改为您称为项目的名称。
创建Podfile并从上方添加代码后,您需要在根目录中运行pod install
。 这样,CocoaPods会将Realm安装到您的项目中。
请注意,下载大约200MB可能需要一些时间。 不用担心,以后再存档应用程序时不会那么大。
安装完成后,如果需要打开Xcode,则需要关闭它。现在,您需要打开{YourProjectName} .xcworkspace。 如果双击该文件,它将打开Xcode,您应该可以运行您的应用程序作为测试。
在本教程中,我将为所有示例使用默认的ViewController.swift。
开始使用Realm之前,我们需要做的第一件事就是导入RealmSwift。 为此,请将此行代码添加到其他导入所在的文件顶部
导入RealmSwift
这样做将允许您创建Realm的新实例,但是我们还没有。
要创建模型,您只需创建一个继承Object
类。 我将创建两个模型,一个用于用户,一个用于宠物。 看起来像这样:
现在,当您要创建一个新用户时,您需要做的就是创建一个User
或Pet
的新实例。
为此,我将创建两个函数。 一个将是创建一个新的User
,另一个将是创建一个新的Pet
。
函数将如下所示:
这两个功能将使我们能够创建新的用户和宠物。
为了用领域保存数据,我们需要做的就是创建我们在上面的代码中创建的对象的新实例。
要创建和保存新数据,我们要做的是以下操作:
在上面的代码中,我们要做的第一件事是创建一个Realm的新实例,稍后将在尝试保存数据时使用它。
我们创建一个名为“ Spot”的新Pet
和一个名为“ John”的新User
。 我们还通过传递之前在行上创建的Pet
实例,将“ John”作为宠物。
之后,我们尝试将新对象写入数据库。 使用以下代码(同样在图片的上方)完成对数据库的写入:
尝试! realm.write {
realm.add(newPet)
realm.add(newUser)
}
运行此代码后,数据将保存到数据库中,您可以对其进行查询。
从根本上讲,查询数据比保存数据还要容易。
要查询刚刚创建并保存的数据,我们需要做的是:
让用户= realm.objects(User.self)
如果我们将其打印出来,我们将在中获得以下内容:
结果 (
[0]用户{
名字=约翰;
宠物=宠物{
名称=点
};
}
)
从结果中可以看到,用户以及他们拥有的宠物都将被退回。
要更新数据,我们将使用之前编写的查询。 查询返回一个数组。 对于此示例,我将只访问数组中的第一个元素。
要更新数组中的第一个元素,我们可以这样做:
如果让用户= realm.objects(User.self).first
{
尝试! realm.write {
user.name =“詹姆斯”
如果让pet = user.pet
{
pet.name =“杰克”
}
}
打印(realm.objects(User.self).first)
}
打印用户将显示如下更新的详细信息:
可选(用户{
名字=詹姆斯;
宠物=宠物{
名字=杰克;
};
})
我很遗憾地说这些基础知识一直很简单,但麻烦的是它们很🙂
如果要删除数据库中的对象,可以执行以下操作:
如果让用户= realm.objects(User.self).first
{
尝试! realm.write {
realm.delete(用户)
}
打印(realm.objects(User.self))
}
最后的打印返回以下内容:
结果 (
)
数据库中没有更多用户。 我敢肯定,这将是显而易见的,但只是要明确一点,这不会从数据库中删除所有者宠物。
需要明确的是,这是最基本的领域用例。 当您开始添加更多的关系和不同类型的关系并使用Realm的其他功能时,它会变得更高级,更复杂。
但是,即使您开始接触更复杂的内容,它仍然相对简单,并且网上有大量信息可以为您提供帮助。
让我知道如果我错过了重要的事情,或者如果您知道做某事的更好方法,我将始终乐于学习和改进!
如何使用SKStoreReviewController教程: https ://medium.com/programming-with-swift/skstorereviewcontroller-tutorial-programming-with-swift-31a4faded01f
如何使用以下方法创建自定义UITableViewCell: Swift:https://medium.com/programming-with-swift/create-a-custom-uitableviewcell-with-swift-6d7eb7389f19