Swift-->Realm 1.0.2 数据库上手指南
IOS中,替代Core Data的数据库框架. 比Core Data的配置简单N倍. 强烈建议查看官网文档: 1:Realm的库引用
2:实例类的声明 import RealmSwift
//必须继承Object(这个是Realm声明的类)
class RealmBean: Object {
dynamic var string: String? = nil // 注意dynamic关键字
let var int = RealmOptional<Int>() //基础类型的可选型需要使用RealmOptional包裹,使用:int.value(可选类型)
let var bool = RealmOptional<Bool>()
let var double = RealmOptional<Double>()
}
支持类型:
可选属性声明:
3:Realm的增删改查操作 // MARK: 声明一个Realm对象
let realm = try! Realm()
//添加操作
func create() {
// 方法1 // realm.beginWrite() // for _ in 0..<1000 { // let bean = RealmBean() // realm.add(bean) // } // try! realm.commitWrite()
// 方法2
try! realm.write {
for _ in 0..<1000 {
let bean = RealmBean()
realm.add(bean)
}
}
//方法1的效率更高,并且支持realm.cancelWrite()回滚操作
}
//修改操作
func modify() {
try! realm.write {
for (index,bean) in realm.objects(RealmBean).enumerate() {
bean.double.value = bean.double.value! + Double(1)//直接赋值就可以
}
}
}
//查询操作
func query() {
let restuls = realm.objects(RealmBean)
}
//删除操作
func delete() {
// 方法1 // try! realm.write { // realm.deleteAll() // }
// 方法2
try! realm.write {
realm.delete(realm.objects(RealmBean))
}
//方法1效率更高
}
4:删除Realm数据库文件 class func cleanRealm() {
let realmURL = Realm.Configuration.defaultConfiguration.fileURL!//你可以通过这个属性,查看到Realm数据的文件路径
let realmURLs = [
realmURL,realmURL.URLByAppendingPathExtension("lock"),realmURL.URLByAppendingPathExtension("log_a"),realmURL.URLByAppendingPathExtension("log_b"),realmURL.URLByAppendingPathExtension("note")
]
let manager = NSFileManager.defaultManager()
for URL in realmURLs {
do {
try manager.removeItemAtURL(URL)
} catch {
// 处理错误
print("删除出错...")
}
}
}
源码: https://github.com/angcyo/RealmDemo 至此: 文章就结束了,如有疑问: QQ群 Android:274306954 Swift:399799363 欢迎您的加入. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |