Objective c @合成条=__条,带两个前导下划线?

Objective c @合成条=__条,带两个前导下划线?,objective-c,syntax,Objective C,Syntax,我了解到,以这种方式(至少在大多数情况下)在Objective-C中合成属性是一种很好的预编程风格: @synthesite foo = _foo; 今天我遇到了这句话 @synthesite managedObjectContext = __managedObjectContext; 在由Xcode自动生成的文件AppDelegate.m中 一个和两个前导下划线之间的主要区别是什么?没有区别。这只是个人偏好的问题(就像在ivar中添加下划线一样,许多人不喜欢它)。没有区别。这只是个人偏好的

我了解到,以这种方式(至少在大多数情况下)在Objective-C中合成属性是一种很好的预编程风格:

@synthesite foo = _foo;
今天我遇到了这句话

@synthesite managedObjectContext = __managedObjectContext;
在由Xcode自动生成的文件
AppDelegate.m


一个两个前导下划线之间的主要区别是什么?

没有区别。这只是个人偏好的问题(就像在ivar中添加下划线一样,许多人不喜欢它)。

没有区别。这只是个人偏好的问题(就像在ivar中添加下划线一样;许多人不喜欢它)。

没有实际区别,尽管在某些语言中有时使用双下划线来表示变量是“系统”变量而不是应用程序变量。这是一个从未被广泛使用的惯例。

没有实际的区别,尽管有时在某些语言中使用双下划线表示变量是“系统”变量而不是应用程序变量。这是一个从未被广泛使用的惯例。

这只是通货膨胀。三年后,它将成为ManagedObjectContext可能的复制品,这只是通货膨胀。三年后它将成为,,,的uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。功能上没有区别。我想说有区别,因为声明保留了双下划线。@如果使用双下划线,编译器不会抱怨,程序将以完全相同的方式运行。在功能上没有区别。