1

只是好奇,在这个例子中:

[array1 enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
   [array2 enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
      //
   }];
}];

重命名内部块变量(obj、idx、stop)以使其不影响外部变量的最佳做法是什么?idx2, stop2 看起来很老套,但有时最有意义(考虑当涉及超过 2 个块时)

4

1 回答 1

0

我相信您可以将它们重命名为您喜欢的任何名称:

[array1 enumerateObjectsUsingBlock:^(id obj1, NSUInteger idx1, BOOL *stop1) {
   [array2 enumerateObjectsUsingBlock:^(id obj2, NSUInteger idx2, BOOL *stop2) {
       //
   }];
}];

并不是说简单地在末尾附加一个数字是所需的解决方案,而只是表明您可以随意命名这些参数。您不必坚持为您提供示例 XCode 存根。

于 2012-11-20T21:22:59.640 回答