2

数か月前、私がiOS用のアプリの開発を始めたとき(私はJava開発者を経験しました)、iOSを経験した同僚は、ARCから離れるように警告しました(彼らはちょっとバグがあると主張しているため)。今、私はMRRにかなり慣れています。しかし、本当に価値があるのであれば、ARCに移りたいと思います。Appleのドキュメント、つまり「メモリ管理について」を見ながら。私が見つけた:

「 iOS用のコードを書くことを計画している場合は、明示的なメモリ管理を使用する必要があります」

だから私はまだARCに行くかどうか混乱しています。私はiOSだけに関心があります(Mac開発には関心がありません)。

ありがとう。

4

5 に答える 5

13

あなたの同僚はiOSの経験が浅いようです。ARCはバグがありません。私が聞いた経験豊富なiOS開発者は皆、ARCが承認の言葉でそうしていると言っています。私はiOSで3年以上の経験があり、内部で何が起こっているのかを実際に理解している限り、ARCを強くお勧めします。アップル自体、あなたが言うためにリンクするまさにガイドで:

新しいプロジェクトにはARCを使用することを強くお勧めします。

Appleが明示的なメモリ管理を使用する必要があると言った場合、ガベージコレクションとは対照的に、従来の手動メモリ管理とARCを明示的なメモリ管理としてグループ化します。

また、iOS開発者ライブラリではなく、Mac開発者ライブラリのドキュメントにリンクしていることに注意してください。iOS用に開発する必要がある場合は、iOS開発者ライブラリを使用してください。

于 2012-05-07T10:21:36.847 に答える
2

私は少し経験豊富なプログラマーですが、私の観点からは、retain/releaseオブジェクトやdeallocメソッドの実装について心配する必要がないため、ARCを使用すると多くの時間を節約できます。さらに、オブジェクトグラフの観点から考えることができます。この場合、アプリケーション内のサイクルに注意を払う必要があります。

そこから、ARCに移行する方法に関するチュートリアルがたくさんあります。ここに私のお気に入り:

  1. http://www.mikeash.com/pyblog/friday-qa-2011-09-30-automatic-reference-counting.html
  2. http://blog.mugunthkumar.com/articles/migrating-your-code-to-objective-c-arc/

それが役に立てば幸い。

于 2012-05-07T10:27:29.480 に答える
2

私の個人的な意見では、ARCの使い方を学び始めて、自分のプロジェクトに実装する必要があります(何らかの理由でクライアント/上司が望まない場合を除く)。ARCを使用するために、ますます多くのライブラリが作成および変換されています。Appleはまた、自分のプロジェクトでARCを使用することをお勧めします(Jimの回答を参照)。私は、Objective-cとiOSの学習を開始する人は、従来のメモリ管理に慣れてからARCに進む必要があると主張する必要があります。また、この回答を確認することもできます。

于 2012-05-07T10:24:02.633 に答える
2

ARCを使用すると、アプリケーションのパフォーマンスが向上する場合があります。以下のブログをお読みください。

などなど

于 2012-05-07T10:24:25.410 に答える
1

MMRの経験があり、おそらく退屈なタスクメモリ管理がどのようになり得るかを知っている場合。ARCを使用する場合、呼び出しを保持および解放する必要はありません。また、多くの場合、ARCによってパフォーマンスが大幅に向上するだけではありません。

個人的には、コードで多くのCライブラリを使用している場合、現在ARCを使用するのは少し難しいと思います(したがって、サードパーティのCライブラリやCoreFoundationなどを主に使用している場合は、次のことを検討してください。それが理にかなっているかどうかにかかわらず)、しかしそれでも、これらのライブラリがObjective-Cコントローラなどからほとんど分離されている場合、ARCは依然として優れています。

このガイドに従ってください:http://www.learn-cocos2d.com/2011/11/everything-know-about-arc/

于 2013-01-21T13:35:05.763 に答える