每次创建新对象时迭代NSManagedObject的属性

时间:2018-05-24 19:26:50

标签: swift database xcode core-data nsmanagedobject

在我正在创建的todolist应用程序中,我希望创建的每个新任务对象都具有唯一的任务ID,在实现核心数据之前,我有一个带有静态实例变量的任务类,每次都会增加1实例化了一个新对象。我如何使用NSManagedObject执行此操作?

来自非NSManagedObject任务类的代码

C

1 个答案:

答案 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。