.h文件中的代码
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;.m文件中的代码
@synthesize managedObjectContext = __managedObjectContext;我是objective c的初学者,我想知道@synthesize managedObjectContext; and @synthesize managedObjectContext = __managedObjectContext;有什么不同,可以解释一下吗?
发布于 2013-04-04 19:11:11
@synthesize propertyName创建一个变量来支持与该属性同名的属性,而@synthesize propertyName = variableName则为该变量提供一个备用名称(可能是以下划线为前缀的属性名称)。
请注意,在最新版本的Xcode附带的编译器中,不再需要使用@synthesize:编译器会找出需要合成的属性,并隐式地插入
@synthesize propertyName = _propertyName;对于需要综合的每个属性。
发布于 2013-04-04 19:18:11
如果您使用
@synthesize managedObjectContext = __managedObjectContext;您可以这样编写代码行:
__managedObjectContext = someContext;它将通过直接访问该属性来更改存储在该属性中的值,而不使用setManagedObjectContext:方法。
但是,这一行将是不正确的(除非您在它之前声明了一些其他managedObjectContext ):
managedObjectContext = someContext; //wrong
self.managedObjectContext = someContext; //goodhttps://stackoverflow.com/questions/15809431
复制相似问题