scrambledWordLabelArray

scrambledWordLabelArray

我有一个充满NSMutableArrayUILabels,我想通过逐步浏览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中获取元素。

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

10-08 06:09