【发布时间】:2014-06-24 18:26:11
【问题描述】:
我已将文本文件读入字符串数组。在下面的代码中,我从该数组创建对象并将它们添加到 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])访问任何项目时,所有其他元素(奇数编号)都是 nil 元素。但是,所有对象都添加到数组中。我的猜测是 addObject 每次都向数组添加一个元素以及一个新的 nil 哨兵?这应该发生/我应该手动检查并删除这些元素吗?
另外,由于我是 Objective-C 的新手,我的 Metaphor 类包含您可以在正文中看到的 4 个实例字段:如果有人可以的话,我相信有更快的语法来初始化这些对象之一指出我正确的方式。谢谢。
【问题讨论】:
标签: ios objective-c arrays nsmutablearray