为什么在IOS中用前导下划线重命名合成属性?
在Xcode 4中创建新项目时,样板代码在合成实现文件中的IVAR时添加一个下划线字符,如下所示:
@synthesize window = _window;
或:
@synthesize managedObjectContext = __managedObjectContext;
有人能告诉我这里取得了什么成就吗?我不是一个完全的裸体,但这是目标的一个方面-C我不明白。
另一个困惑之处是:在应用程序委托实现中,在如前所述合成窗口Ivar之后,在应用程序dfinishLaunchingWithOptions:Method中,使用Self引用了窗口和viewController Ivars:
self.window.rootViewController = self.viewController[self.window makeKeyAndVisible];
但是在dealloc方法中它是_Window或_viewController
谢谢