关于修改NSMutableArray的内容

时间:2013-06-07 16:30:31

标签: ios objective-c uibutton nsmutablearray

我有NSMutableArray,名为buttonContainer,其中包含UIButton个。问题是我想用新值更改每个按钮的CGRectmake(),是否有一种简单的方法可以做到这一点?

我正在尝试这个但却出错:

[buttonContainer objectAtIndex: i].frame = CGRectmake(x,y,w,h);

我得到的错误是:在'id'类型的对象上找不到属性'frame'。

2 个答案:

答案 0 :(得分:2)

NSMutableArray可以包含任何id类型,objectAtIndex的返回类型为id,但不具有frame属性。如果您的数组只包含UIButton,那么您可以在循环内执行此操作:

UIButton *button = (UIButton *) [buttonContainer objectAtIndex:i];
button.frame = CGRectMake(x, y, w, h);

答案 1 :(得分:0)

您真正想要做的是使用IBOutletCollection

您在@interface文件中声明它们并将按钮添加到此集合,然后您可以在集合中的每个对象上运行一个方法。

您可以查看更多详情here