我读了一个文本文件到一个字符串数组。在下面的代码中,我从该数组创建对象并将它们添加到NSMutableArray中。NSMutableArray额外零哨兵
NSMutableArray* metaphors = [[NSMutableArray alloc] init];
unsigned int i, cnt = [allLinedStrings count];
for(i = 0; i < cnt-3; i+=5)
{
Metaphor *newMetaphor = [[Metaphor alloc] init];
[newMetaphor setMetaphorTitle: allLinedStrings[i]];
[newMetaphor setCorrectAnswer: allLinedStrings[i+1]];
[newMetaphor setLiteralAnswer: allLinedStrings[i+2]];
[newMetaphor setWayOffAnswer: allLinedStrings[i+3]];
[metaphors addObject:newMetaphor];
}
至于问题,当我通过索引来访问的任何项目([隐喻objectAtIndex:3]例如)所有其他元素(奇数的)是零元素。尽管如此,所有的对象都被添加到数组中。我的猜测是,addObject是添加一个元素到数组以及每次都有一个新的零标记?如果发生这种情况/我应该手动通过并删除这些元素?另外一个方面,因为我是新来的Objective-C,我的隐喻类包含4个实例字段,您可以在正文中看到:我确定有更快的语法来初始化这些对象之一,如果有人可以指出我正确的方式。谢谢。
是的,我的问题竟然与读取文件有关,而不是将对象添加到数组中。谢谢。 – Connor