Spa*_*Dog 3 iphone cocoa-touch enumeration ipad ios
这是一个错误吗?
我有这样的话:
[myArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%d", idx);
}];
NSLog(@"end");
Run Code Online (Sandbox Code Playgroud)
这应该像这样打印
"0"
"1"
"2"
...
"end"
Run Code Online (Sandbox Code Playgroud)
但是印刷就像
"end"
"0"
"1"
"2"
...
Run Code Online (Sandbox Code Playgroud)
Apple说enumerateObjectsWithOptions:usingBlock:
是同步的,所以在结束之前不应该打印"结束",对吧?
你们能证实吗?
enumerateObjectsUsingBlock:
绝对是同步的.我刚刚在CodeRunner中运行了相同的示例:
NSArray *myArray = @[ @1, @2, @3, @4, @5 ];
[myArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%d", idx);
}];
NSLog(@"end");
Run Code Online (Sandbox Code Playgroud)
得到以下输出:
0
1
2
3
4
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2311 次 |
最近记录: |