Swift-->Realm 1.0.2 数据库上手指南

前端之家收集整理的这篇文章主要介绍了Swift-->Realm 1.0.2 数据库上手指南前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

IOS中,替代Core Data的数据库框架. 比Core Data的配置简单N倍.

强烈建议查看官网文档:
1.0.2 英文文档: https://realm.io/docs/swift/latest/
1.0.0中文文档: https://realm.io/cn/docs/swift/latest/

1:Realm的库引用

https://realm.io/cn/docs/swift/latest/#swift-22
安装CocoaPods 0.39.0 或者更高版本;
在您的Podfile中,添加use_frameworks!和pod ‘RealmSwift’ 到您的主要和测试目标;
终端运行pod install;
采用 CocoaPods 生成的.xcworkspace来运行工程!

2:实例类的声明

  1. import RealmSwift
  2.  
  3. //必须继承Object(这个是Realm声明的类)
  4. class RealmBean: Object {
  5. dynamic var string: String? = nil // 注意dynamic关键字
  6. let var int = RealmOptional<Int>() //基础类型的可选型需要使用RealmOptional包裹,使用:int.value(可选类型)
  7. let var bool = RealmOptional<Bool>()
  8. let var double = RealmOptional<Double>()
  9. }

支持类型:

https://realm.io/cn/docs/swift/latest/#section-4
支持的类型
Realm支持以下的属性类型:Bool、Int8、Int16、Int32、Int64、Double、Float、String、NSDate 以及NSData.

CGFloat 属性被取消了,因为它的类型不依赖于平台。

String、NSDate 以及 NSData 类型的属性都可以添加可选值。Object 类型的属性必须设置为可选。存储可空数字可以通过 Realm 可选值来实现。

可选属性声明:

https://realm.io/cn/docs/swift/latest/#optional-properties

3:Realm的增删改查操作

  1. // MARK: 声明一个Realm对象
  2. let realm = try! Realm()
  3. //添加操作
  4. func create() {
  5. // 方法1 // realm.beginWrite() // for _ in 0..<1000 { // let bean = RealmBean() // realm.add(bean) // } // try! realm.commitWrite()
  6.  
  7. // 方法2
  8. try! realm.write {
  9. for _ in 0..<1000 {
  10. let bean = RealmBean()
  11. realm.add(bean)
  12. }
  13. }
  14. //方法1的效率更高,并且支持realm.cancelWrite()回滚操作
  15. }
  16. //修改操作
  17. func modify() {
  18. try! realm.write {
  19. for (index,bean) in realm.objects(RealmBean).enumerate() {
  20. bean.double.value = bean.double.value! + Double(1)//直接赋值就可以
  21. }
  22. }
  23. }
  24. //查询操作
  25. func query() {
  26. let restuls = realm.objects(RealmBean)
  27. }
  28. //删除操作
  29. func delete() {
  30. // 方法1 // try! realm.write { // realm.deleteAll() // }
  31.  
  32. // 方法2
  33. try! realm.write {
  34. realm.delete(realm.objects(RealmBean))
  35. }
  36. //方法1效率更高
  37. }

4:删除Realm数据库文件

  1. class func cleanRealm() {
  2. let realmURL = Realm.Configuration.defaultConfiguration.fileURL!//你可以通过这个属性,查看到Realm数据的文件路径
  3. let realmURLs = [
  4. realmURL,realmURL.URLByAppendingPathExtension("lock"),realmURL.URLByAppendingPathExtension("log_a"),realmURL.URLByAppendingPathExtension("log_b"),realmURL.URLByAppendingPathExtension("note")
  5. ]
  6. let manager = NSFileManager.defaultManager()
  7. for URL in realmURLs {
  8. do {
  9. try manager.removeItemAtURL(URL)
  10. } catch {
  11. // 处理错误
  12. print("删除出错...")
  13. }
  14. }
  15. }

https://realm.io/cn/docs/swift/latest/#realm-

源码: https://github.com/angcyo/RealmDemo


至此: 文章就结束了,如有疑问: QQ群 Android:274306954 Swift:399799363 欢迎您的加入.

猜你在找的Swift相关文章