Cocoa:你怎么命名你的init参数不干扰ivars?

时间:2012-05-23 10:30:27

标签: iphone cocoa coding-style

让我们从一个例子开始:

@interface myClass : NSObject {
    NSString * title;
}

-(id)initWithTitle:(NSString*)title;

编译器不喜欢这样,因为标题init参数隐藏了myClass title ivar。

但我不喜欢这些选择:

-(id)initWithTitle:(NSString*)t;
-(id)initWithTitle:(NSString*)myTitle;
-(id)initWithTitle:(NSString*)_title;

这是一项民意调查:你的惯例是什么?

3 个答案:

答案 0 :(得分:6)

有些人更喜欢调用他们的ivars _titletitle_,然后他们可以在函数中使用title作为参数名称。或者您只需将其称为aTitlenewTitle。没有正确或错误的方法。

答案 1 :(得分:3)

我更喜欢使用-(id)initWithTitle:(NSString *)aTitle;

答案 2 :(得分:2)

我目前使用pTitle,但多年来一直使用inTitle