時是否有異常這些規則這是我目前做的:做橋接
基本上做橋接
從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