私はSwiftのRealmを初めて使用します。文字列の配列をレルムオブジェクトに格納する方法はありますか?
私は次のようなJSONオブジェクトを持っています:
"firstName": "John",
"imgName": "e9a07f7d919299c8fe89a30022151135cd63773f.jpg",
"lastName": "Wood",
"permissions": {
"messages": ["test", "check", "available"]
},
messages arrayをpermissions keyに格納するにはどうすればよいですか?
あなたは次のようなものができます:
class Messages: Object {
dynamic var message = ""
}
class Permission: Object {
let messages = List<Messages>()
}
class Person: Object {
dynamic var firstName = ""
dynamic var imgName = ""
dynamic var lastName = ""
var permissions : Permission = Permission()
}
とにかく、私は今、 レルムSwiftドキュメント
文字列を安全にトークン化できることが確実な場合は、List<T>
を必要としない簡単なテクニックを次に示します。
class Person: Object {
private let SEPARATOR = "||"
dynamic var permissionsString: String? = nil
var permissions: [String] {
get {
guard let perms = self.permissionsString else { return [] }
return perms.componentsSeparatedByString(SEPARATOR)
}
set {
permissionsString = newValue.count > 0 ? newValue.joinWithSeparator(SEPARATOR) : nil
}
}
override static func ignoredProperties() -> [String] {
return ["permissions"]
}
}