我是快速和领域的新手.我想制作一个复合主键,当我尝试这样的事情时:
class DbLocation : Object {
dynamic var id = 0
dynamic var tourId = 0
dynamic var uuid : String {
return "\(id)\(tourId)"
}
override static func primaryKey() -> String? {
return "uuid"
}
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:'对象'DbLocation'上不存在主键属性'uuid'
任何人都可以帮我解决如何创建复合主键的示例?
Mic*_*hal 27
这应该给你答案:
class DbLocation: Object{
dynamic var id = 0
dynamic var tourId = 0
dynamic var compoundKey = ""
override static func primaryKey() -> String? {
return "compoundKey"
}
func setup(id: Int, tourId: Int){
self.id = id
self.tourId = tourId
self.compoundKey = compoundKeyValue()
}
func compoundKeyValue() -> String {
return "\(id)\(tourId)"
}
}
Run Code Online (Sandbox Code Playgroud)
自定义setter确保复合键始终更新,懒惰关键字确保您第一次访问它时,它将从您已设置的内容中派生出来.
了解更多关于这个话题在这个线程哪里这个问题一直争论不休.
| 归档时间: |
|
| 查看次数: |
8273 次 |
| 最近记录: |