在我正在创建的todolist应用程序中,我希望创建的每个新任务对象都具有唯一的任务ID,在实现核心数据之前,我有一个带有静态实例变量的任务类,每次都会增加1实例化了一个新对象。我如何使用NSManagedObject执行此操作?
来自非NSManagedObject任务类的代码
C
答案 0 :(得分:1)
如果您想确保拥有唯一ID,则应尝试考虑使用UUID,通用唯一标识符。这些ID类型为 string ,符合国际标准。
在您需要的任何地方生成新的UUID:
let id : String = UUID().uuidString
那就是说,如果你仍想使用整数,你可以(已弃用):
class Task {
static var currentTaskId : Int = 0
var taskId : Int?
init(){
Task.currentTaskId += 1
self.taskId = Task.currentTaskId
}
}
这样,您的所有任务实例都会有不同的ID。但是我不推荐它,因为每当你停止你的应用程序时,currentTaskId
将被带回0,如果你的任务被存储并且随着时间的推移重新使用,你很可能会有不再独特的id。