当我在创建NSManagedObject后尝试访问一个空属性时,它给了我一个EXC_BAD_ACCESS (code=1, address=0x0)
let m = NSEntityDescription.insertNewObjectForEntityForName(entityName, inManagedObjectContext: context) as MyManagedEntity
println(m.numberProperty) // this is OK
println(m.stringProperty) // this gives me the exception
println(m.dateProperty) // this gives me the exception
任何想法如何解决?
编辑:
在投射到EXC_BREAKPOINT(code=EXC_I386_BPT, subcode-0x0)
MyManagedEntity
答案 0 :(得分:2)
您是否在XCDataModel中为属性指定了默认值?
如果生成NSManagedObject子类,则可以通过在声明中添加问号将任何属性更改为可选:
@NSManaged var stringProperty: String?
@NSManaged var dateProperty: NSDate?
在其他地方你可以这样做:
println(m.stringProperty?)
if m.stringproperty != nil {
// do stuff
}