数组中的对象没有索引位置

时间:2014-01-04 20:22:19

标签: objective-c arrays nsmutablearray

我有一个数组,它是一个解析的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]);

你知道为什么索引可能没有更新吗?

任何帮助将不胜感激

2 个答案:

答案 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:方法。