2011-03-11 28 views
2

這是我試過修改代碼,但沒有成功,每次:我如何引用NSMutableArray中的UIButton?

(UIButton *)[colourButtonsArray objectAtIndex:2].text = @"Test"; 

我的東西不是一個結構或聯合獲得的「請給成員‘文本’的錯誤。

任何想法如何解決這個問題?

回答

5

調用正確的方法:

[(UIButton *)[colourButtonsArray objectAtIndex:2] setTitle:@"Test" forState:UIControlStateNormal]; 

文檔在這裏:http://developer.apple.com/library/ios/documentation/uikit/reference/UIButton_Class/UIButton/UIButton.html#//apple_ref/occ/instm/UIButton/setTitle:forState

如果你只是想投和訪問屬性你可以添加更多的括號(雖然文字是不是實際屬性):

((UIButton *)[colourButtonsArray objectAtIndex:2]).buttonType; 
+0

給我同樣的錯誤。 – Andrew 2011-03-11 21:23:14

+0

我認爲這是對的,但訣竅在於文本不是UIButton的屬性。你需要setTitle:,而不是文本。 – GendoIkari 2011-03-11 21:30:28

+0

@Gendolkari你是對的,我已經更新了我的答案,並給了你一個+1 – theChrisKent 2011-03-11 21:31:10

3

爲了避免使用轉換的額外括號,可以使用方法語法而不是點符號。但是,在UIButton的情況下...您使用setTitle:forState:方法設置了UIButton的文本。

相關問題