1

私はメソッドを持っていますが、今はNSLog呼び出しを行うだけで済みます:

(void)methodName:(NSString*)name {
    NSLog(@"hey there, %@", name);
}

Local declaration of 'name' hides instance variable」と書いてあります。これは何を意味するのでしょうか?必要な文字列を作成するにはどうすればよいですか?

4

3 に答える 3

3

引数の名前を変更するだけです。

-(void)methodName:(NSString*)nameParam {
   NSLog(@"hey there, %@", nameParam);
}
于 2012-04-20T18:06:15.833 に答える
3

これは、methodName メソッドを含むクラスに「name」という名前の変数が既にあることを意味します。次のように変更することをお勧めします。

- (void)methodName:(NSString*)theName {
    NSLog(@"hey there, %@", theName);
}
于 2012-04-20T18:06:53.150 に答える
1

nameプロパティまたは変数として使用している必要があります。メソッドのパラメーター名として使用すると、2回使用されます。

メソッドパラメータの名前を別の名前に変更します。

于 2012-04-20T18:06:29.793 に答える