免费电话桥

时间:2009-04-30 09:36:01

标签: objective-c iphone macos

作为iPhone开发的新手和过去几周的Objective-C,我在CF和NS框架之间遇到过多次提及“免费桥接”。

一个特别的例子是CFStream和NSStream。

是否存在记录所有这些网桥以及如何使用它们的资源?它是否就像从一种类型的对象转换到另一种类型一样简单?

我问,目前我正在使用iPhone SDK中不严格允许的NSStream调用,并了解我应该使用CFStream调用。

编辑:关于how TFB works

的有用文章

2 个答案:

答案 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<