如果我嘗試將存儲的屬性添加到Swift中的NSManagedObject
的子類中,但未提供默認值(我會在初始化程序中這樣做,請注意) ,我得到這個錯誤:將存儲的屬性添加到Swift中的NSManagedObject的子類中
Stored property 'foo' requires an initial value or should be @NSManaged
的代碼如下:
class Thing : NSManagedObject{
var foo : String
var bar : String
init(foo: String, bar : String){
// blah, blah...
}
}
什麼是執行這一原因呢?爲什麼我不能在初始化程序中初始化?
您可能會爲此使用* transient屬性*。瞬態屬性不會保存到持久存儲中,但Xcode會創建相應的Swift屬性,並且Core Data運行時會創建必要的存取器方法。 - 還要注意,你*必須*使用指定的初始化程序'init(實體實體:NSEntityDescription, insertIntoManagedObjectContext context:NSManagedObjectContext!)'創建託管對象。 – 2014-10-05 18:28:48