如果我有钥匙的话,我不知道如何找到所有的数据。
当我想添加时,我生成唯一的字符串:
try! uiRealm.write({ () -> Void in
let findOut = TaskList()
let uuid = NSUUID().UUIDString
findOut.id = uuid
findOut.name = "New name"
findOut.taskMin = 0
findOut.taskHours = 0
uiRealm.add(findOut)
})
当我想更改数据时,它是这样的:
try! uiRealm.write({ () -> Void in
let findOut = TaskList()
findOut.id = "A9600D00-5E2A-47B2-A05E-4341EDFEE227"
findOut.name = "Change text"
uiRealm.add(findOut, update: true)
self.readTasksAndUpdateUI()
})
但我不明白,如果我需要从所有行读取数据?我需要把它放在变量里。
例如:
我需要从.id=A9600D00-5E2A-47B2-A05E-4341EDFEE227行获取.name、.taskMin、.taskHours
最佳答案
使用特殊方法从域中检索对象(使用其主键)。
let id = "A9600D00-5E2A-47B2-A05E-4341EDFEE227"
let findOut = uiRealm.objectForPrimaryKey(TaskList.self, key: id)
print(findOut.name)
print(findOut.taskMin)
print(findOut.taskHours)
为此,需要在模型中声明主键:
override static func primaryKey() -> String {
return "id"
}