我有一个数组,它是一个解析的xml提要,我想使用代码添加到另一个数组....
int insertIdx = [blogEntries count];
for (RSSItem *nextItem in feedItems) {
[blogEntries insertObject:nextItem atIndex:insertIdx];
//[blogEntries addObject:nextItem];
insertIdx += 1;
}
出于某种原因,blogEntries数组中的所有对象都具有0的索引,当我使用它们全部淘汰时......
for (RSSItem *nextItem in blogEntries)
NSLog(@"title - %@, pos - %i", nextItem.title, [blogEntries IndexOfObject:nextItem]);
你知道为什么索引可能没有更新吗?
任何帮助将不胜感激
答案 0 :(得分:0)
您是否尝试使用addObject:
代替insertObject:atIndex
?
你确定对象是不同的:
indexOfObject: Returns the lowest index whose corresponding array value is equal to a given object.
答案 1 :(得分:0)
我无法克制自己在一次将很多项目添加到NSMutableArray的主题中,我更喜欢使用此方法:
- (void)addObjectsFromArray:(NSArray *)otherArray
删除那个无用的for
循环。 (除非你需要在那个循环中做一些其他工作)
至于你的问题,viperking对你可能遇到的问题有很大的暗示。 (如果是这种情况,您可能需要验证isEqual:
方法。