2014-11-04 98 views
0

我知道有關於這個問題,我讀過它們。我需要XML分析器在iOS。我需要使用GDataXML解析器。我爲它禁用ARC,但在示例中還有非ARC命令,如retainrelease如何正確組合ARC代碼與非ARC代碼?

我會刪除它們,但是會導致一些內存泄漏嗎?我想不是,但我不確定。

+0

如果您禁用該文件的ARC,爲什麼要刪除對'release'和'retain'的調用? – rmaddy 2014-11-04 17:46:59

+0

沒有@rmaddy。我爲分析器禁用了弧。但在如何使用的例子中,我仍然會刪除非ARC命令。我想知道這是否會導致內存泄漏或其他問題。一般人都說ARC + NON ARC是可以的。 – new2ios 2014-11-04 17:53:05

+0

好的,所以'GDataXML'是MRC代碼,你爲這些文件禁用ARC。精細。您可以使用帶有ARC代碼或MRC代碼的'GDataXML'。沒關係。 – rmaddy 2014-11-04 17:59:05

回答

0

不,這不會導致內存泄漏。對於非ARC文件,只需使用-fno-objc-arc

「自動引用計數爲Objective-C對象和塊實現自動內存管理,使程序員不需要顯式插入保留和釋放,它不提供循環收集器;用戶必須明確地管理對象的生命週期,手動中止循環或弱或不安全引用

ARC可以通過編譯器標誌-fobjc-arc顯式啓用,也可以通過編譯器標誌-fno-objc-arc顯式禁用,最後一個出現在編譯線上的兩個標誌「勝利」。「

有關更多詳細信息,請參閱clang docs