时是否有异常这些规则这是我目前做的:做桥接
基本上做桥接
从CF土地NS土地转换时,我有这条规则,使用CFBridgingRelease 从转换NS陆地到CF地,使用__bridge。
我从来没有见过苹果的示例代码以不同的方式做。
这里有一个例子:
ABRecordRef ABWhatIsThis= (__bridge ABRecordRef)([self.allMyContacts objectAtIndex:indexPath.row]);
NSString * strName= CFBridgingRelease (ABRecordCopyCompositeName (ABWhatIsThis));
的原因是,当我想要的东西从NS土地转化为CF土地,我不想改变所有权。 ARC将保持对NS地块的保留计数,并将物体保存在CF地带中,直到它的NS地面部分被破坏。
这就是为什么我用ABRecordRef ABWhatIsThis= (__bridge ABRecordRef)
如果我转换的东西从CF土地NS土地,我将使用CFBridgingRelease。理由是,一旦我有一个指向CFBridging的ARC对象,我不会让CFBridging保留这些东西。
但是,我仍然感到困惑。当我使用CFBridgingRelease时,是否有一条硬性规则?
另外我注意到没有CFBridging这样的东西。只有CFBridgingRelease和CFBridgingRetain。我不知道为什么不平衡。
这已经被覆盖了一百万次。可能的愚蠢:http://stackoverflow.com/questions/7036350/arc-and-bridged-cast,http://stackoverflow.com/questions/6822473/correct-bridging-for-arc,http://stackoverflow.com /问题/ 14352494 /桥接投桥转移-VS-桥与合成的制定者, – CodaFi 2013-03-28 09:01:00