我有一个充满NSMutableArray
的UILabels
,我想通过逐步浏览array
来修改它们的text属性。我知道UILabels
或生成要分配给标签的文本的函数不是问题,因为我已经在数组外部对其进行了测试,并且效果很好。当UILabel
在数组内部时,我似乎无法获取text属性进行修改。
我有如下填充的数组:
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];
}
然后,一旦视图加载其应将标签更改为其他函数生成的字符串的视图:
- (void)viewDidLoad
{
[super viewDidLoad];
[self initUIArrays];
currentGameList = [self GetWordList:[self LoadWordlist]];
for (NSUInteger i = 0; i < [currentGameList count]; i++) {
对于这一部分,我找到了两个解决方案,但对我都不起作用...
解决方案1:
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];
附带说明:
确实currentcurrentList和scrambledWordLabelArray将始终具有相同数量的元素吗?您的“for”循环基于currentGameList中元素的数量,但是您使用相同的索引从scrambledWordLabelArray中获取元素。
您发布的两个解决方案基本上都是相同的代码。