1

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

但我不清楚:

@synthesize managedObjectContext = _managedObjectContext;

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

@synthesize managedObjectContext;

这似乎更容易?

另外,是不是和惰性编程有关,也就是说你必须自己写setter和getter?

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

4

1 回答 1

2

这只是人们用来给属性和 iVar 分别命名的约定该属性将被调用managedObjectContext并且 iVar 将被调用_managedObjectContext

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

除此之外,它没有任何实际功能。

于 2013-05-03T15:35:02.530 回答