【发布时间】:2013-04-06 17:08:10
【问题描述】:
我使用 CoreData 创建了一个实体,然后将其子类化到它自己的文件中,其中包含 @propertys,然后在 .m 文件中包含 @dynamic 部分。
当我希望某个从未设置过的东西具有一定的价值时,我总是使用惰性实例化,如下所示:
- (NSString *)preview {
if ([self.body length] < 200) {
_preview = self.body;
}
else {
_preview = [self.body substringWithRange:NSMakeRange(0, 200)];
}
return _preview;
}
但是我如何使用@dynamic 属性来做到这一点?如果我做同样的事情,它会说 _preview 是一个未声明的属性,但它在 .h 文件中。我对惰性实例化有什么不同?
【问题讨论】:
-
它说
_preview是一个未声明的标识符,因为您没有具有该名称的变量。@synthesize创建变量;@dynamic没有。
标签: ios objective-c core-data nsmanagedobject