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 在某些设备上不起作用

UIButtons 在向右旋转时起作用,但在向左旋转时不起作用。嗯?

Mongoose:通过 findOneAndUpdate 查询使用对象数组的总和更新根数据属性不起作用

为啥事件触发器在统一 2d 中不起作用?

Unity 2D - OnMouseDown()不起作用