1

高速化したいアプリケーションを書いています。これを行うために私が考えた 1 つの方法は、ポインターのストレートな C スタイル配列を使用することNSArrayから使用することへ切り替えることです。NSMutableArray

私は単純にやろうとしました:

MyObject** objects = (MyObject**) malloc(N/2*sizeof(MyObject*))

ARC を使用すると、 ** オブジェクトをどう処理するかがわからないため、これによりコンパイラ エラーが報告されます。これは、ブリッジ ディレクティブを追加することで修正できます。

私の質問は、このメモリがどのように処理されているか、C とObjective-Cオブジェクトを混在させてメモリ管理を行う方法です。

2つの解決策は

MyObject* __weak* objects = (MyObject* __weak*) malloc(N/2*sizeof(MyObject*));

MyObject* __strong* objects = (MyObject* __strong*) malloc(N/2*sizeof(MyObject*));

これらの 2 つの配列の違いは何ですか。また、完了したらそれらを解放/解放するにはどうすればよいですか。NSArraysこれにより速度が大幅に向上しない点まで最適化されていますか?

4

1 に答える 1