gpt4 book ai didi

iphone - 根据按下的按钮(iOS)检索自定义数据?

转载 作者:行者123 更新时间:2023-12-01 17:35:15 25 4
gpt4 key购买 nike

如果这是一个简单的问题,我深表歉意,但我一直无法找到足够的解决方案,我让自己有点疯狂:P

我有一个应用程序,在各种 View 上有许多按钮(40-50),并且应该根据按下哪个按钮来构建一个包含许多条目的字典。

(例如,如果按下按钮 27,我将在 viewController 中构建一个 Dict :
姓名 -> 约翰·史密斯
地址 -> 1 无限循环
年龄 -> 99
)

显然为每个按钮编写一个特定的 Action 是错误的。

我想做的是继承 UIButton(继续上面的示例),将名称、地址和年龄作为实例变量添加到我的自定义按钮,并在使用 init 实例化按钮时设置每个实例变量:
然后,当按下该按钮时,我可以有一个由所有按钮调用的 SINGLE buildDict:(id)sender 操作,并简单地用 sender.Name 等填充字典......

我的问题是:我可以在 Interface Builder 的属性检查器中添加字段来设置这些值吗?如果这是不可能的,我在哪里可以找到按钮实例化,以便我可以通过编程设置这些值?

最佳答案

您不想将属于模型的数据放在 View 中。这听起来也非常复杂。
在界面生成器中插入数据?如果我不必为我的 View 编辑标签并且您想编辑其中的数据,我感到很幸运?

说真的,做对了。创建一个 NSArray。 40 个对象对应 40 个按钮。使用 plist 编辑器创建地址列表并将该 plist 文件加载到您的代码中。这是执行此操作的最快和最干净的方法。

给每个按钮一个标签。 (如果你必须添加 40 个按钮,我无论如何都会在代码中完成)并将它们连接到 IBAction。我建议你给第一个项目一个标签 1000。没有标签的按钮的行为就像一个标签为 0 的按钮,你不想要这个。如果你从按钮到数组索引,你不想减去 1。

- (IBAction)buttonPressed:(UIButton *)sender {
// remember? tag 1000 equals index 0.
NSUInteger index = sender.tag - 1000;
NSDictionary *object = [self.data objectAtIndex:index];
// do whatever you want
}

无需子类化任何东西。无需违反模型- View - Controller 概念。

关于iphone - 根据按下的按钮(iOS)检索自定义数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4980695/

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