作为iPhone开发的新手和过去几周的Objective-C,我在CF和NS框架之间遇到过多次提及“免费桥接”。
一个特别的例子是CFStream和NSStream。
是否存在记录所有这些网桥以及如何使用它们的资源?它是否就像从一种类型的对象转换到另一种类型一样简单?
我问,目前我正在使用iPhone SDK中不严格允许的NSStream调用,并了解我应该使用CFStream调用。
编辑:关于how TFB works
的有用文章答案 0 :(得分:37)
免费桥接意味着数据结构是可互换的。它就像铸造一样简单 - 这就是“免费”部分。您可以在桥的一侧使用该类型的任何地方,您可以使用另一个。因此,例如,您可以创建CFString然后向其发送NSString消息,或者您可以创建NSArray并将该数组传递给CFArray函数。
Apple在其网站上保留list of the supported toll-free bridged types。
答案 1 :(得分:4)
免费桥接,虽然有趣的名字,是CoreFoundation课程的一个非常酷的功能。从本质上讲,它可归结为这样一个事实:你可以在同名的CoreFoundation和NextStep类之间进行转换(CFString< - > NSString,CFData< - > NSData,CFDictionary< - > NSDictionary ...仅仅是为了命名一些最常用的。)
| K<