【发布时间】:2014-10-22 22:12:41
【问题描述】:
appDelegate.h
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
我必须在 appDelegate.m 中这样做
@synthesize managedObjectContext = _managedObjectContext;
我很困惑,因为根据苹果
注意:编译器会自动合成一个实例变量 在它还合成至少一个访问器的所有情况下 方法。如果您为读写实现了 getter 和 setter 属性或只读属性的 getter,编译器将 假设您正在控制属性实现 并且不会自动合成实例变量。如果你还 需要一个实例变量,您需要请求一个 合成:@synthesize property = _property;
根据这一点,它应该创建一个实例变量,只要它创建了至少一个访问器方法。那么这是否意味着在我声明属性时没有创建访问器方法?是什么原因。请解释。
我假设编译器以某种方式知道 NSManagedObjectContext 具有访问器方法。所以它没有创建任何实例变量,因此它没有创建实例变量。
【问题讨论】:
标签: objective-c core-data