2

たとえば、.hファイルで1つの引数名を持つ関数を定義するかどうかは重要ですか...

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

そして、私の実装では、クラスプロパティを非表示にするため、引数に別の名前を付けます。

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

オートコンプリートファイルは、オートコンプリートフィラーの「基礎」として.hを使用することを知っています。このシナリオには適用されませんが、コーディングスタイルの一貫性をできるだけ保つために、関数でプロパティ名を使用することを好みます。 。getFooとsetFooの両方が-(bar *)initWithFoo:(id)foo;のように同じプロパティ'foo'に適用されることを理解する方が理にかなっています。

私の知る限り、コンパイラには問題はありませんが、どういうわけか問題があるようです。

4

3 に答える 3

5

newXcodeのLLVMアナライザーは、およびで始まるメソッドのようないくつかのことを気にしているようですcopy

これは、プロパティに次の名前で始まる場合の警告の例newです。

「プロパティの合成ゲッターは、「所有」オブジェクトを返すためのCocoa命名規則に従います」

(@propertyには、newで始まるgetterメソッドを作成する@synthesizeがありました)。

于 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 に答える