我無法找到有關該問題的答案。我有一個與老學校MRC合作的項目,並且更喜歡使用這種內存管理風格,但現在一些新的框架最初使用ARC創建。我可以使用任何轉換方式將這些框架包含在我的項目中,或者我可以在這種情況下做什麼,除了重新制作整個項目?是否可以將項目與ARC轉換爲MRC?
回答
您可以使用ARC(MRC)(動態或靜態)庫一個MRC(ARC)應用程序。如果您想將ARC(MRC)框架的源包含到MRC(ARC)中,則需要根據每個文件設置進行調整,並且IIRC報告表明儘管它可以正常工作,但您可能會得到Clang報告的非錯誤。
[注意:GC使圖片複雜化,例如,你不能使用來自MRC/ARC應用程序的GC庫。]
好的,即使框架沒有_weak修飾符,爲老的iOS轉換完整的mrc兼容性也沒有什麼區別嗎?因爲我需要新版本的os的新框架。 – stworks 2012-03-01 13:13:22
不同的OS版本混合使問題複雜化。如果你有一個框架設計爲使用10.7以下的ARC,並且它不使用弱引用,那麼如果你在10.7以下編譯它,你可以在10.6以下使用它(因此在10.6以下的MRC應用程序中)。如果它確實使用弱引用,那麼它*仍然可以正常工作,但確定您需要對框架進行代碼審查 - 在引用對象消失時,在10.7弱引用自動null下,在10.6下它們不會。如果這依賴,那麼框架將在10.6以下發生故障(但在技術上仍然「可用」)。 – CRD 2012-03-01 17:23:00
Thx爲答案。說實話,我忘了** ios **標籤,我的問題是關於該操作系統。 – stworks 2012-03-02 13:17:09
你可以編譯你的弧形源爲靜態庫......這是應該做的一種方式,另一種可能性是使每個文件的基礎ARC
- 1. 將項目從ARC轉換爲MRC
- 2. 將非ARC項目轉換爲ARC
- 3. 將舊項目轉換爲ARC
- 4. 將非ARC項目切換爲ARC
- 5. ARC與MRC的區別
- 6. 是否可以組合非ARC和ARC項目代碼?
- 7. 如何將ARC項目轉換爲非ARC?
- 8. 將非ARC轉換爲ARC項目而不重新創建它?
- 9. 將ARC轉換爲非ARC
- 10. 將非ARC轉換爲ARC
- 11. 是否可以將NSInteger轉換爲NSNumber?
- 12. 是否可以將byte []轉換爲bitmapsource?
- 13. 是否可以將MBCS轉換爲DBCS?
- 14. 是否可以將View轉換爲ViewGroup?
- 15. 是否可以將Button轉換爲TextView?
- 16. 是否可以將TextPointer轉換爲Integer
- 17. 是否可以將wpa_supplicant.conf轉換爲NetworkManager?
- 18. 是否可以將VBA轉換爲C#?
- 19. 是否有可能將Unity Standalone項目轉換爲Webplayer
- 20. 是否可以將Windows位圖與Alpha通道轉換爲MagickImage?
- 21. isEqualToString是否可以交換項目?
- 22. 將GameCenterManager轉換爲ARC
- 23. 將object_setInstanceVariable()轉換爲ARC?
- 24. 將項目轉換爲ARC後xCode抱怨
- 25. 嘗試使用SDWebImage將整個項目轉換爲ARC
- 26. 將項目轉換爲具有雙向間接指針的ARC
- 27. 將非ARC文件轉化爲Xcode 4中的ARC項目
- 28. 是否可以對AppHarbor測試項目應用配置轉換?
- 29. 自動轉換爲ARC時是否可以跳過一些文件?
- 30. 是否有可能將codeigniter項目轉換爲Laravel,如果是,比如何?
看看這個問題,在每個文件的基礎上設置ARC:http://stackoverflow.com/questions/6646052/how-can -i-disable-arc-for-one-file-in-a-project – gregheo 2012-02-29 18:43:11