gpt4 book ai didi

ios - NSMutableArray UIButton 按下历史记录

转载 作者:行者123 更新时间:2023-11-28 20:22:09 26 4
gpt4 key购买 nike

我目前正在生成一组按钮,效果很好。在此之外,每个按钮调用 -(void)onTouch 函数,其中进行一些数学运算以确定操作。这一切都很好,除了我想存储按下按钮的历史记录。我已经尝试了很多不同的方法来创建一个 NSMutableArray 并存储按下按钮的值,但是因为我每次只能在 -onTouch 操作中声明数组按下一个按钮,阵列被重置,因此它永远不会记住超过一个 Action 。如果我尝试在我的 header 中声明数组并在外部合成它,我要么得到 nsmutable 数组不是编译时事物的错误,要么它不存储任何东西(日志输出为“(null)”。有人可以粘贴一些有关如何声明一个数组的代码,该数组可以在 uibutton 按下事件发生的位置之外存储和附加 uibutton 标签?如果不清楚,我将在今晚晚些时候发布代码。

干杯

最佳答案

您不仅需要声明数组,还需要初始化它。如果你不初始化,你不一定会得到警告,但你会得到很多 nil 数据。

您只想初始化数组一次(正如您所注意到的),因此 viewDidLoad 是执行此操作的好地方。另一个好地方是自定义访问器...

- (NSMutableArray*)historyArray
{
if (!_historyArray) {
_historyArray = [[NSMutableArray alloc] init];
}
return _historyArray;
}

现在,当您第一次尝试 [self.historyArray addObject:sender] 时,访问器将注意到缺少 historyArray,创建一个并返回它。下一次它不会被重新创建,因为它已经存在。

关于ios - NSMutableArray UIButton 按下历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15489008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com