【问题标题】:iOS Swift 3 Storing NSArray Values To RealmiOS Swift 3 将 NSArray 值存储到领域
【发布时间】:2017-03-29 09:54:06
【问题描述】:

在我的应用程序中,我们使用 Realm Storage 在本地存储值。我可以将我的数组值存储为 Sting。但不能将值存储和检索为数组。是否可以将 NSArray 值存储到领域对象并将其作为 NSArray 检索。 这是我用来存储字符串值的代码:

class PracticeView: Object
{
    dynamic var PracticeArray = ""
} 

和用法:

let realm:Realm = try! Realm()
let PracticeDetails = PracticeView()
PracticeDetails.PracticeArray = "Test String Values"
try! realm.write
{
   realm.add(PracticeDetails)
}
print("Values In Realm Object: \(PracticeDetails.PracticeArray)")

//Result Will Be
Values In Realm Object: Test String Values

【问题讨论】:

    标签: ios swift3 nsarray realm rlmarray


    【解决方案1】:

    不,Realm 不能将原生数组(无论是 Objective-C NSArray 对象还是 Swift 数组)存储为 Object 模型类的属性。

    在 Realm Swift 中,有一个名为 List 的对象,可让您将 Realm Object 实例的数组存储为子对象。这些仍然不能是字符串,所以需要将字符串封装在另一个 Realm Object 子类中。

    class Practice: Object {
       dynamic var practice = ""
    }
    
    class PracticeView: Object {
       let practiceList = List<Practice>()
    }
    
    let newPracticeView = PracticeView()
    
    let newPractice = Practice()
    newPractice.practice = "Test String Value"
    newPracticeView.practiceList.append(newPractice)
    
    let realm = try! Realm()
    try! realm.write {
        realm.add(newPracticeView)
    }
    

    有关更多信息,我建议查看 Realm Swift 文档的'To-Many Relationships' section。 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多