我正在创建CFMutableArray
并使用CFString
动态填充它。
如果我使用CFMutableArray
将NSMutableArray
作为CFBridgingRelease
进行桥接,其子女会怎样?
当我之后访问数组中的条目时,我可以将它们视为ARC管理的NSString
,还是应该在CFArrayCallbacks
结构中做些什么来自动处理该传输?< / p>
答案 0 :(得分:2)
如果我使用CFBridgingRelease将这个CFMutableArray作为NSMutableArray桥接,那么它的孩子会怎么样?
可能,没什么。当然,这取决于你投入CFArray的内容。如果你把没有免费桥接的C类型桥接到Objective-C类型(CoreFoundation的某些部分仍然没有桥接到任何东西),那么生成的NS类型的行为是未定义的。
当我之后访问数组中的条目时,我可以将它们视为ARC管理的NSStrings,还是应该在CFArrayCallbacks结构中做些什么来自动处理该传输?
如果您在桥接数组中处理桥接类型,则不需要执行任何操作。数组中包含的值已经被保留(因此它们不应该被数组-retain
发送),并且可以很好地拔出并使用。