如何将字符串插入NSArray并稍后将其返回以进行打印或比较?

时间:2013-02-28 02:40:18

标签: objective-c nsarray nslog

我正在尝试创建一个大小为100的NSMutableArray,然后使用三个空格" "的字符串填充每个索引。我正在错误地创建数组我错误地返回了对象。这是我创建数组的方法:

-(void) initBoard{
    _board = [board initWithCapacity:100];
    for(int i =0; i < 100; i++){
        [_board addObject:@"   "];
    }
}

此方法无法正常运行。我在上面的一个包含NSLog @"@%", [_board objectAtIndex: i];之后添加了一个for循环,这样我就可以验证每个索引上实际上有三个空格组成的字符串,但它在控制台中打印的所有内容都是“nil” 。到目前为止,我已经尝试过:

  • 我认为addObjectAtIndex可能是问题所以我只是将其更改为addObject并将initWithCapacity更改为init];以允许for循环将数组构建为100。

  • 然后我想也许问题是尝试插入文字字符串@" "(IDK如何让Stackoverflow显示我的3个空格,而不只是1),所以我添加了{{1}在for循环之前,然后将NSString *input = @" ";更改为`[_board addObject:input;

有关如何实际创建大小为100的NSMutableArray并使每个点包含三个空格的相同字符串的任何建议吗?

1 个答案:

答案 0 :(得分:2)

你需要alloc吃掉init ialize the mutable array:

-(void) initBoard{
    _board = [[NSMutableArray alloc] initWithCapacity:100];
    for(int i =0; i < 100; i++){
        [_board addObject:@"   "];
    }
}