国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

如何將非AR!C的項目轉換成ARC項目

2019-11-02 14:35:50
字體:
來源:轉載
供稿:網友

   如何將非ARC的項目轉換成ARC項目

  Xcode 自帶一個自動轉換的功能,不過只適合比較小的項目,在大型項目上是不適合適用的,所以大型項目上需要全手動轉換。

  1.將項目編譯環境改成ARC

  將紅圈處從No 改成Yes

ios

  如果你現在的工程不支持ARC技術,你可以通過一個自動轉換工具來轉換你的工程(工具在 Edit>Refactor>Convertto Objective-CARC),這個工具會自動所有工程中手動管理內存的點轉換成合適自動方式的(比如移除retain, release等)。這個工具會轉換工程中所有的文件。當然你可以轉換單個文件。

  2.這些函數:dealloc,retain,release,retainCount,auto

全集網[www.aikan.tv/special/quanjiwang/]
release。禁止任何形式調用和實現(dealloc可能會被實現)

  將這些內存管理的東西全部刪掉或注釋

  3.不能使用NSAutoreleasePool。可以考慮直接注釋

  作為替代,@autoreleasepool被引入,你可以使用這個效率更高的關鍵詞。

  4.在做橋接轉換時報錯,用xcode提示替換

  5.ARC語法的一些規則

  5.1.代碼中不能使用retain, release, retain, autorelease

  5.2.不重載dealloc(如果是釋放對象內存以外的處理,是可以重載該函數的,但是不能調用[super dealloc])

  5.3.不能使用NSAllocateObject, NSDeallocateObject

  5.4.不能在C結構體中使用對象指針

  5.5.id與void *間的如果cast時需要用特定的方法(__bridge關鍵字)

  5.6.不能使用NSAutoReleasePool、而需要@autoreleasepool塊

  5.7.不能使用“new”開始的屬性名稱(如果使用會有下面的編譯錯誤”Property’s synthesized getter followsCocoa naming convention for returning ‘owned’ objects”)

  7.第三方包的問題,第三方框架的問題

  我們項目里可能引用了許多第三方框架。

  大部分都是用一些宏來讓代碼可以同時適應ARC和非ARC的(用#if __has_feature(objc_ARC)判斷)。如果代碼量不大,可以考慮自己進行改寫.

  你可以按上面的步驟將第三方框架自己手動改成ARC。

  如果是大型框架的話,可以采取標記此框架保留非ARC的環境不變,繼續使用。

  1,選擇項目中的Targets,選中你所要操作的Target,

  2,選Build Phases,在其中Complie Sources中選擇需要ARC的文件雙擊,并在輸入框中輸入:-fobjc-ARC,如果不要ARC則輸入:-fno-objc-ARC

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永平县| 黑水县| 旬邑县| 和平区| 红安县| 藁城市| 武威市| 阳江市| 吉林省| 班玛县| 青铜峡市| 建瓯市| 呼图壁县| 芦溪县| 霍邱县| 赤壁市| 邯郸市| 彰化市| 辰溪县| 夏河县| 林周县| 盐山县| 阿尔山市| 西充县| 八宿县| 贵溪市| 蓬莱市| 漯河市| 东兴市| 大荔县| 荔波县| 临沧市| 雅江县| 武义县| 阜城县| 昌乐县| 将乐县| 万年县| 宜州市| 浦东新区| 玉溪市|