很明显,@synthesize定义了对象的setter和getter。
但我不清楚:
@synthesize managedObjectContext = _managedObjectContext;
这是什么意思?为什么不以下面的方式实现它:
@synthesize managedObjectContext;
哪个更容易?
另外,它是否与懒惰编程相关,这意味着你必须自己编写setter和getter?
希望有人可以提供帮助;)
答案 0 :(得分:2)
这只是一个约定人们用来赋予属性和iVar单独的名称。该属性将被称为managedObjectContext
,iVar将被称为_managedObjectContext
。
如果两者的名称相同,则可能很容易混淆它们,将它们混合起来会产生意想不到的结果,因为使用iVar名称会绕过属性上的任何setter和getter。
除此之外,它没有真正的功能。