說地圖是一個NSDictioanry,我的理解是因爲res的地址在塊中沒有改變,所以我們不需要使用__block。它是否正確?是否有必要使用__block類型說明符來更改塊中的可變對象?
//__block NSMutableArray *res = [@[] mutableCopy];
NSMutableArray *res = [@[] mutableCopy];
__block NSInteger i = 0;
[map enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSArray *v, BOOL *stop) {
[res addObject:v];
i++;
}];
順便說一句,我已經運行的代碼,它工作正常。
編譯器是否抱怨?運行代碼並打印'res'。怎麼了? – vadian
我已經運行它工作正常 – user3315620
然後答案是:否:-)編譯器會告訴你是否缺少__block。 – vadian