【发布时间】:2015-10-25 17:48:07
【问题描述】:
我正在将使用Swift 编写的项目转换为使用CoreData。一切正常,除了现在我试图将自定义类转换为NSManagedObject 类以将其属性存储在CoreData 中。它看起来像这样:
import UIKit
import CoreData
class Jar: NSManagedObject {
@NSManaged var name: String
@NSManaged var jarDescription: String
@NSManaged var jarType: UIImage
@NSManaged var progress: Int
@NSManaged var jarSize: Int
/*
init() {
name = "Some Jar"
jarType = UIImage(named: "EmptyJar3.png")
progress = 0
jarSize = 60
jarDescription = ""
*/
}
我已经注释掉了init(),因为根据我的阅读,您不能在NSManagedObject 上使用初始化方法。但是,我在项目中的其他地方有代码实例化Jar 类型的对象,对于没有为此类明确设置的属性,我希望为这些属性设置某种默认初始值。
有没有办法在class Jar: NSManagedObject 中做到这一点?如果我正在编写检查方法以查看是否设置了属性,然后将它们显式保存到CoreData,这似乎会变得非常混乱,我在任何地方都实例化了一个新的Jar 对象。
【问题讨论】:
标签: ios swift core-data initialization nsmanagedobject