gpt4 book ai didi

objective-c - 循环类似命名的 UI 元素 - 也许通过从其名称获取变量?

转载 作者:行者123 更新时间:2023-12-03 17:28:36 26 4
gpt4 key购买 nike

我使用 Interface Builder 将许多标签添加到 View 中。我还有一个想要显示的值数组。

是否有比使用此代码更好的方法来设置标签:

lblTotal1.text = [NSString stringWithFormat: @"%i Seconds", (int) round(fTimeTotal[1])];
lblTotal2.text = [NSString stringWithFormat: @"%i Seconds", (int) round(fTimeTotal[2])];
lblTotal3.text = [NSString stringWithFormat: @"%i Seconds", (int) round(fTimeTotal[3])];
lblTotal4.text = [NSString stringWithFormat: @"%i Seconds", (int) round(fTimeTotal[4])];

我想做的是这样的:

for (int i = 1; i<5; i++) {
lblTotal[i].text = [NSString stringWithFormat: @"%i Seconds", (int) round(fTimeTotal[i])];
}

但是我必须能够从它的名称中获取一个变量。我怎样才能做到这一点?

最佳答案

您可以将我们的 IBOutlet 连接到 IB 中的 IBOutletCollection 中(选择一堆并将它们一起拖到源代码中;它应该提供创建一个集合的功能)。虽然 IBOutletCollection 从技术上讲是一个有序列表(数组),但实际上它是随机排序的。

一旦您将所有 IBOutlet 连接到一个 IBOutletCollection 中,您仍然需要知道哪个是哪个。您可以使用 tag 来执行此操作,这是您可以在 IB 中设置的字段之一。标记完所有内容后,您的代码将是:

for (UILabel *label in self.labelCollection) {
int value = (int)roundf(fTimeTotal[label.tag]);
label.text = [NSString stringWithFormat:@"%i Seconds", value];
}

关于objective-c - 循环类似命名的 UI 元素 - 也许通过从其名称获取变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9361856/

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