带有索引的iOS insertObject

时间:2015-03-05 17:23:37

标签: ios objective-c nsmutablearray

self.messageArray = [NSMutableArray array];

[self.messageArray addObject:[[MessageData alloc] initWithMsgId:[_instantMessageID objectAtIndex:i] text:[_instantMessageData objectAtIndex:i] date:[NSDate date] msgType:JSBubbleMessageTypeOutgoing mediaType:JSBubbleMediaTypeText img:nil]];

[self.messageArray insertObject:[[MessageData alloc] initWithMsgId:[messageID objectAtIndex:i] text:[messages objectAtIndex:i] date:[NSDate date] msgType:JSBubbleMessageTypeOutgoing mediaType:JSBubbleMediaTypeText img:nil] atIndex:0];

首次addObject部分运行,我的self.messageArray中添加了一些内容,而不是我再次运行insertObject部分时,我添加了self.messageArray但不添加索引0。

此代码部分不起作用如何解决此问题我想添加对象始终开始

例如我的第一个数据: 4,5,6,7,8

第二个数据:1,2,3

我想插入像这样的{1,2,3,4,5,6,7,8}

对象

请帮助

1 个答案:

答案 0 :(得分:1)

您的insert使用i看起来似乎是i正在循环(您还没有显示)。您可能会以越来越多的方式循环for (NSInteger i = numberOfObjects-1; i >= 0; i--) { [self.messageArray insertObject:obj atIndex:0]; } ,但这会以您希望的相反顺序将项目插入数组的开头。

您可以通过以下两种方式解决此问题:

反转您的循环

i

使用for (NSInteger i = 0; i < numberOfObjects; i++) { [self.messageArray insertObject:obj atIndex:i]; } 作为插入点

{{1}}