防止在 CoreData 中使用生成的初始化程序

时间:2021-04-24 19:21:43

标签: swift core-data

我想阻止为 CoreData ManagedObject 使用标准的 Xcode 生成的初始化程序,因为我想自己连接一些东西。
我的计划是编写一个工厂或一个特殊的初始化程序。

我尝试在扩展中将 Xcode 生成的 Initializer 设为私有,并提供另一个使用此私有的 Initializer。
不幸的是,这不能编译。

extension Item {
  private init(context : NSManagedObjectContext?){   // NOT ALLOWED !!
    self.init(context: context)
  }
  
  static func ItemFactory(i: Int)-> Item{
    let moc = PersistenceController.moc
    let item = Item(context: moc)
    // do some Initialisation
    item.i = I
    return item
  }
}

如何实现?

0 个答案:

没有答案
相关问题