如何在iOS核心数据或领域中保存dinamically数组以及如何比较这个数组

时间:2017-02-14 09:16:47

标签: swift core-data realm

我有一个数组

var names:[String]=["kate","son","viktor"]

我想将此数组保存在核心数据或Realm中。此数组动态更改

var names:[String]=["kate","son","viktor","sam"]

如何比较此数组和打印更改。例如:名称“ Sam ”的更改。感谢您提供任何帮助(想法)或链接。

1 个答案:

答案 0 :(得分:1)

Realm 中,您只需将数组序列化/反序列化为Data(或String),如下所示:

class SomeModel: Object {
    dynamic var _names: Data!

    var names: [String] {
        set(value) {
            try! realm.write {
                _properties = try! JSONSerialization.data(withJSONObject: value, options: [])
            }
        }
        get {
            guard _names != nil else { return [] }
            return try! JSONSerialization.jsonObject(with: _names, options: []) as? [String] ?? []
        }
    }
}

这会将您的数组存储在Realm中,但显然不允许您使用数组中的名称进行排序或查询。

您最好将每个名称存储在适当的模型对象中,并在基础对象中创建一对多属性(使用Realm的List