相关疑难解决方法(0)

enumerateObjectsUsingBlock的BOOL*stop参数是什么:用于?

我最近一直在使用enumerateObjectsUsingBlock:很多我的快速枚举需求,而且我很难理解BOOL *stop枚举块中的用法.

NSArray类引用状态

stop:对布尔值的引用.该块可以将值设置YES为停止进一步处理数组.这个stop论点是一个唯一的论点.您应该只将此布尔值设置YES为块内.

那么当然我可以在我的块中添加以下内容来停止枚举:

if (idx == [myArray indexOfObject:[myArray lastObject]]) {
    *stop = YES;
}
Run Code Online (Sandbox Code Playgroud)

从我能够说的,没有明确设置*stopYES没有任何负面的副作用.枚举似乎在数组的末尾自动停止.那么*stop在一个区块中使用真的有必要吗?

cocoa-touch enumeration objective-c nsarray fast-enumeration

85
推荐指数
1
解决办法
3万
查看次数

NSArray等效地图

给定一个NSArrayNSDictionary对象(含类似的对象和密钥)是有可能写出执行地图指定的键的阵列?例如,在Ruby中,它可以通过以下方式完成:

array.map(&:name)
Run Code Online (Sandbox Code Playgroud)

iphone macos cocoa cocoa-touch objective-c

71
推荐指数
5
解决办法
4万
查看次数