2

如果我在 .h 文件中定义一个具有一个参数名称的函数是否重要,例如...

-(foo *) initWithId:(NSString *)id;

然后在我的实现中给参数一个不同的名字,因为它隐藏了一个类属性:

-(foo *) initWithID:(NSString *)idString;

我知道自动完成文件使用 .h 作为其自动完成填充的“基础”,虽然它不适用于这种情况,但我更喜欢在我的函数中使用属性名称以尽可能保持我的编码风格一致. 理解 getFoo 和 setFoo 都适用于与 -(bar *) initWithFoo:(id) foo; 中相同的属性 'foo' 更有意义。

据我所知,编译器没有任何问题,但不知何故,它似​​乎应该很重要。

4

3 回答 3

5

Xcode 中的 LLVM 分析器似乎确实关心一些事情,比如以new和开头的方法copy

当我命名一个以 开头的属性时,这是一个示例警告new

“属性的合成 getter 遵循 Cocoa 命名约定以返回‘拥有’对象”

(@property 有一个 @synthesize,它创建了一个以 new 开头的 getter 方法)。

于 2012-05-03T04:39:21.753 回答
3

不,编译器不在乎。其他阅读您的代码的人可能会关心。

于 2012-05-03T02:44:52.067 回答
1

唯一真正重要的是您是否有一个同名的实例变量名称。

@synthesize something;

- (void)methodForSomething:(id)something
{

something = something;

}

这将引发错误。显然解决方案是修改您的实例变量命名。

@synthesize something = _something;

除此之外,参数名称无关紧要。

于 2012-05-13T16:24:26.743 回答