2013-01-05 77 views
0

我寫一個應用程序,它所有的作品,但我得到了下面的簡單代碼只是移動文本框警告單擊時:警告在Xcode:本地聲明隱藏實例變量

-(void) textViewDidBeginEditing:(UITextView *) observationComment 
{ 
observationComment.frame=CGRectMake(190, 100, 700, 255); 
} 

的警告:

「observationComment」的局部聲明隱藏實例變量

如何擺脫警告或者我應該忽略它螞蟻的想法?

+2

標題太寬了..它什麼也沒說。 'Xcode中的警告'與'gotham city中的問題'(蝙蝠俠)一樣具體。 –

回答

2

只需將observationComment重命名爲其他內容即可。它的名稱與實例變量的名稱相同。具有不同名稱的最佳做法是減少混淆,因此很明顯它不是伊娃。

或者,如果這是一個委託回調,則按蘋果公司的相同方式命名。

-(void)textViewDidBeginEditing:(UITextView *)textView 
    textView=CGRectMake(190, 100, 700, 255); 
} 
+1

您的第一部分是正確的,但重命名該方法是一個壞主意。 ['-textViewDidBeginEditing:'](http://developer.apple.com/library/ios/documentation/uikit/reference/UITextViewDelegate_Protocol/Reference/UITextViewDelegate.html#//apple_ref/occ/intfm/UITextViewDelegate/textViewDidBeginEditing :) is UITextViewDelegate協議的一部分。如果你刪除了冒號和參數,你正在改變方法的名字,並且它將不再被'UITextView'調用。 –

+0

正是。但是,我怎麼能擺脫這個警告? – RGriffiths

+0

啊哈,我看到了混亂。方法名稱是'textViewDidBeginEditing:',它必須保持不變。參數名稱「textView」不是方法簽名的一部分,只要它不與任何其他變量名稱衝突,就可以將其更改爲任何您喜歡的內容。 –

1

重命名observationComment - 稱之爲obsCom什麼的。所以你的方法看起來像這樣:

-(void) textViewDidBeginEditing:(UITextView *) obsCom 
{ 
    obsCom.frame=CGRectMake(190, 100, 700, 255); 
} 

這將擺脫警告。

相關問題