[英]counter inside enumerateObjectsUsingBlock
我需要遍历NSArray
来计算一些指标(总高度)。 这是我的代码:
__block CGFloat height = someInitialValue;
[messages enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
if (condition1)
height += someValue;
if (condition2)
height += someValue;
}];
每次迭代都以height = someInitialValue
开始。 但是我要不断增加height
。 是否可以使用块枚举计算总高度,还是必须使用快速枚举?
您在这里增加代码的height
。 height
用__block
标识符标记,这意味着可以在一个块内进行设置。
NSUInteger idx
块参数是循环的计数器(如果需要的话)。
在这种情况下,似乎没有理由使用块枚举。
也许'someValue'为零,并且每次迭代都会看到初始值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.