UIButtons 的 2D 数组不起作用(Objective-C/iPhone 开发)
Posted
技术标签:
【中文标题】UIButtons 的 2D 数组不起作用(Objective-C/iPhone 开发)【英文标题】:2D Array of UIButtons Isn't Working (Objective-C/iPhone development) 【发布时间】:2010-07-22 17:51:10 【问题描述】:我在一个网格中制作了一堆 UIButton,我希望能够轻松地对它们进行迭代,因此我将它们放在了 NSMutableArray 中。
像这样:
// 在.h中
UIButton* button1; UIButton* 按钮2; ... UIButton* button9;
UIButton* myButtons[3][3];
//在app的init函数中
myButtons[0][0] = button1; 我的按钮 [0] [1] = 按钮 2; ... myButtons[2][2] = button9;
但是现在如果我尝试访问 myButtons 中按钮的标题,我会得到 nil:
// 应用中的其他地方 [button1 setTitle:@"A" forState:UIControlStateNormal];
// 然后: NSLog(@"button1 的当前标题:%@", (myButtons[0][0]).currentTitle); // -> (null)
有人知道发生了什么吗?谢谢!
【问题讨论】:
【参考方案1】:首先,这不是 NSMutableArray
,它只是一个普通的 ol' 数组。
其次,在哪里设置 button1 为非空值?是在分配myButtons[0][0] = button1;
之前还是之后?在调用 NSLog 方法时,我会检查并确保 myButtons[0][0]
不为空。如果是,那么您需要稍后分配您的数组或提前分配按钮。
【讨论】:
以上是关于UIButtons 的 2D 数组不起作用(Objective-C/iPhone 开发)的主要内容,如果未能解决你的问题,请参考以下文章
添加 UITapGestureRecognizer 后 UIButtons 将不起作用
UIButtons 在向右旋转时起作用,但在向左旋转时不起作用。嗯?