我需要遍历NSArray
来计算一些指标(总高度)。这是我的代码:
__block CGFloat height = someInitialValue;
[messages enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
if (condition1)
height += someValue;
if (condition2)
height += someValue;
}];
每次迭代都以height = someInitialValue
开头。但我想继续增加height
。是否可以使用块枚举计算总高度,还是必须使用快速枚举?
答案 0 :(得分:1)
您在此处的代码中增加了height
。 height
标有__block
标识符,表示可以在块内设置。
NSUInteger idx
块参数是循环的计数器(如果需要)。
在这种情况下似乎没有理由使用块枚举。
答案 1 :(得分:0)
也许'someValue'为零,每次迭代都会看到初始值。