我如何在NSMutableArray中引用UIButton?

时间:2011-03-11 21:20:20

标签: iphone objective-c uibutton nsmutablearray

这是我尝试修改的代码,每次都无济于事:

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

我收到的错误是'请求成员'文字',而不是结构或联合。

任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分:3)

要避免使用强制转换的括号,可以使用方法语法而不是点表示法。但是,对于UIButton ...,您使用setTitle:forState:方法设置UIButton的文本。