为什么在objective-c中星号后面使用下划线



为什么在objective-c中星号后面使用下划线

@interface TestAppDelegate : NSObject <UIApplicationDelegate>
{
     LeftViewController *_leftViewController;
}
@property (nonatomic, retain) IBOutlet LeftViewController *leftViewController;

在一些风格指南中,有人指出在实例变量前面加下划线是个好习惯。这样,如果直接处理实例变量(_foo)或属性(foo),它会使意图更清晰。

(有时人们会忘记在前面写self.)

它是变量名的一部分。通常用于避免碰撞

只是给这个变量另一个名字。所以在实现文件中你可以使用

self.leftViewController blablabla

_leftViewController blablabla

但是,老实说,我从来没有声明过这些变量两次。如果它是一个属性——让它成为一个属性,不要在@interface部分声明它。但这只是我的看法

最新更新