0

配列のメモリを正しく管理しているかどうか疑問に思っています。以下では、この配列をtableViewで使用しているので、ViewControllerの存続期間中はこの配列を保持したいと思います。プロパティとして作成しているので、コードで割り当てているので、保持カウントとその処理方法について少し混乱しています。以下は私が現在それをどのようにコーディングしているかです。

.hで

@property (nonatomic, retain) NSMutableArray *mutableArray;

.mで

self.mutableArray = [NSMutableArray alloc] init];

//fill with object I'm going to be using throughout the life of the viewController

- (void) dealloc {
   [mutableArray release];
   [super dealloc];
}

ありがとうございました!

4

2 に答える 2

2

そのようにすると、配列がリークします。あなたのプロパティは保持するように設定されているため、self.mutableArray = [[NSMutableArray alloc] init];と同じmutableArray = [[[NSMutableArray alloc] init] retain];です。

だからそれを

self.mutableArray = [NSMutableArray array];
于 2012-06-14T03:17:20.973 に答える
0

iOS 自体がメモリ管理を行います。Apple Arc のドキュメントはこちらです。Mikeash Friday の Q&A ブログには、メモリ管理に関する優れた要約情報もあります。

于 2012-06-14T03:20:02.693 に答える