2014-03-02 26 views
-1

是否有一种有效的方式循环通过包含自定义对象的NSMutableArray通过对象的NSMutableArray进行iOS循环

这是如何初始化和对象添加到我的NSMutableArray

self.messages = [[NSMutableArray alloc] initWithObjects:nil]; 
[self.messages addObject:[[JSMessage alloc] initWithText:message sender:name date:myDate livePreview:@"1"]]; 

什么,我想专门做的是遍历NSMutableArray,寻找其中“livePreview”键1,然后更新该对象上的消息。

这怎么办?

+1

的[快捷的方式来搜索一个NSArray对象的属性]可能重复(HTTP:/ /stackoverflow.com/q/12099867) –

+0

'for'循环与任何事物一样“高效”。如果你想要多线程等,你可以使用块,但这不是有效的,也不是使用KVC /谓词。 –

回答

2
for (JSMessage * message in self.messages) { 
    if ([message.livePreview isEqualToString:@"1"]) { 
     message.message = @"updated message"; 
    } 
} 
0

您还可以利用基于API看看NSArray的块来检查元素

- (void)enumerateObjectsUsingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop))block