@synthesize“_”表示法

时间:2013-05-03 15:30:14

标签: iphone properties synthesize

很明显,@synthesize定义了对象的setter和getter。

但我不清楚:

@synthesize managedObjectContext = _managedObjectContext;

这是什么意思?为什么不以下面的方式实现它:

@synthesize managedObjectContext;

哪个更容易?

另外,它是否与懒惰编程相关,这意味着你必须自己编写setter和getter?

希望有人可以提供帮助;)

1 个答案:

答案 0 :(得分:2)

这只是一个约定人们用来赋予属性和iVar单独的名称。该属性将被称为managedObjectContext,iVar将被称为_managedObjectContext

如果两者的名称相同,则可能很容易混淆它们,将它们混合起来会产生意想不到的结果,因为使用iVar名称会绕过属性上的任何setter和getter。

除此之外,它没有真正的功能。