参见英文答案 >
NSString is exactly the same as CFString?1个
我没有在iOS中获得CFString和NSString之间的差异.任何人都可以建议链接或正确的答案.提前致谢.
我没有在iOS中获得CFString和NSString之间的差异.任何人都可以建议链接或正确的答案.提前致谢.
解决方法
NSString是CFString的基础对应物.这意味着它们在内存中具有完全相同的内存布局.
这种架构背后的原因是历史性的,可以追溯到NeXTSTEP和MacOS 9之间的“碰撞”.
由于toll-free bridging机制,许多CF对象具有可互换的NS对应物(其他示例是CFArray / NSArray,CFData / NSData,……)因此从实际角度来看,您可以将它们视为相同的事物.
这是关于这个主题的一篇很好的文章:http://ridiculousfish.com/blog/posts/bridge.html
作为额外的好事,这是我在ARC环境中如何进行桥接的答案:NSString to CFStringRef and CFStringRef to NSString in ARC?