我有下一个错误:尝试使用现有的主键值“96292”创建“TypeId”类型的对象。 然后我就崩溃了。
答案 0 :(得分:0)
使用String
类型作为主键而不是Int
类型,并为每个对象使用UUID,那么您可以避免使用重复的键。
class AModel: Object {
@objc dynamic var id = UUID().uuidString
override static func primaryKey() -> String? {
return "id"
}
}
或者,如果你想使用Int,并且你确定在一秒内只创建一个对象,你可以使用timestamp值来避免这种情况:
class AModel: Object {
@objc dynamic var id = Date().timeIntervalSince1970
override static func primaryKey() -> String? {
return "id"
}
}
同意与@ Tj3n和@ EpicPandaForce的意见,如果它实际上不是新对象,请更新它。