1

に既に移行されているプロジェクトがありARCます。今、ARC を使用していない他のプロジェクトの既存のファイルをインクルードしようとしていますが、それも ARC に準拠させたいと考えています。 「Objective-C ARCに変換...」はそうです。

問題はEdit->Refactor->"Convert to Objective-C ARC..."、このツールを使用できないことです。「Select Targets to Convert」画面でこのファイルのみを選択すると、次のようなエラーが原因で「Cannot Convert to Objective-C ARC」というメッセージが表示されます:"@synthesize of 'weak'プロパティは ARC または GC モードでのみ許可されています".しかし、それらは既に ARC にあるまた、多数の警告:「メソッドが[super dealloc]呼び出しを欠いている可能性があります」

変換中に -fno-objc-arc でマークされたファイルを除くすべてのファイルを選択すると、弱いプロパティに関するエラーのみが表示されます。

もちろん、リリース保持を手動でビルドおよび削除することはできますが、バス (変換ツール) がある場合、なぜ歩く必要があるのでしょうか? では、別のファイルを ARC に自動移行できますか?

更新: -fno-objc-arc フラグを使用して、このファイルで ARC をオフにしたくありません。このファイルで ARC を使用したいのです。

4

2 に答える 2

0

自動変換ツールに頼るのではなく、手動でこのファイルを ARC に変換する必要があるようです。ファイルを調べて、リリース、保持などをすべて削除する必要があります。以前にこれを行ったことがあり、しばらく時間がかかりますが、それほど苦痛ではありません。Xcode からのエラー メッセージを参考にして、コード内で何を修正/削除する必要があるかを判断してください。ここに私が見つけた役立つリンクがいくつかあります。また、Apple の ARC ドキュメントと WWDC 2011 の講演 (2 番目のリンクの下部で参照) も参照してください。

Xcode ARC 変換ツールの問題

http://blog.mugunthkumar.com/articles/migrating-your-code-to-objective-c-arc/

于 2013-04-10T12:57:35.873 に答える