gpt4 book ai didi

objective-c - 修改 NSArray 中 UILabels 的文本属性

转载 作者:搜寻专家 更新时间:2023-10-30 20:20:26 25 4
gpt4 key购买 nike

我有一个充满 UILabelsNSMutableArray,我想通过遍历 array 来修改它们的文本属性。我知道这不是 UILabels 或生成我想要分配给标签的文本的函数的问题,因为我已经在数组外对其进行了测试并且工作正常。当 UILabel 位于数组内部时,我似乎无法修改文本属性。

我的数组填充如下:

NSMutableArray *scrambledWordLabelArray;

-(void)initUIArrays {
[scrambledWordLabelArray insertObject:ScrambledWordLabel1 atIndex:0];
[scrambledWordLabelArray insertObject:ScrambledWordLabel2 atIndex:1];
[scrambledWordLabelArray insertObject:ScrambledWordLabel3 atIndex:2];
[scrambledWordLabelArray insertObject:ScrambledWordLabel4 atIndex:3];
[scrambledWordLabelArray insertObject:ScrambledWordLabel5 atIndex:4];
[scrambledWordLabelArray insertObject:ScrambledWordLabel6 atIndex:5];
}

然后一旦 View 加载它应该将标签更改为由其他函数生成的字符串:

- (void)viewDidLoad
{
[super viewDidLoad];
[self initUIArrays];

currentGameList = [self GetWordList:[self LoadWordlist]];

for (NSUInteger i = 0; i < [currentGameList count]; i++) {

对于这部分,我找到了两个解决方案,但都不适合我...

解决方案一:

         UILabel *temp = [scrambledWordLabelArray objectAtIndex:i];
temp.text = [self ScrambleWord:[currentGameList objectAtIndex:i]];

解决方案 2:

         [[scrambledWordLabelArray objectAtIndex:i] setText:[self ScrambleWord:[currentGameList objectAtIndex:i]]];
}
}

任何帮助将不胜感激,因为我已经研究和调试了几个小时都没有修复 :(

最佳答案

您没有初始化 scrambledWordLabelArray。您需要添加以下行:

scramledWordLabelArray = [[NSMutableArray alloc] init];

旁注:

currentGameList 和 scrambledWordLabelArray 是否总是具有相同数量的元素?您的“for”循环基于 currentGameList 中的元素数量,但您使用相同的索引从 scrambledWordLabelArray 中获取元素。

您发布的两种解决方案基本上都是相同的代码。

关于objective-c - 修改 NSArray 中 UILabels 的文本属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12879727/

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