美文网首页
for in、经典for循环和EnumerateObjectsU

for in、经典for循环和EnumerateObjectsU

作者: 彗星来的那一夜 | 来源:发表于2018-06-05 19:42 被阅读1次

for in实际上是快速枚举,跟for循环意义上还是有区别的。NSArray的枚举操作中有一条需要注意:对于可变数组进行枚举操作时,不能通过添加或删除对象等这类操作来改变数组容器,否则就会报错.而本身这种操作也是有问题的,数组容器已经改变,可能遍历到没有分配的位置,用for循环机器不能自己察觉,但是枚举器可以察觉。

enumerateKeysAndObjectsUsingBlock用法

NSDictionary * dic = [NSDictionary dictionaryWithObjectsAndKeys:@"obj1",@"key1",@"obj2",@"key2", nil]; 
[dic enumerateKeysAndObjectsUsingBlock:^(id key, id value, BOOL *stop) { 
NSLog(@"value for key %@ is %@ ", key, value); 
if ([@"key2" isEqualToString:key]) 
{ *stop = YES; } 
}];

相关文章

网友评论

      本文标题:for in、经典for循环和EnumerateObjectsU

      本文链接:https://www.haomeiwen.com/subject/qcmmsftx.html