0

「NSMutableArray」を使用するアプリケーションを実装しています。いくつかのオブジェクトを追加します。しかし、「メモリ管理」で警告を見つけました。実は私がしました :

for (int s = 0; s < aNumber ; s++)
{
    [[ArrayOfViews objectAtIndex:s] release];
}

しかし、それは私に与えます:

「この時点で呼び出し元が所有していないオブジェクトの参照カウントの誤ったデクリメント」

いくつかの調査の後、追加のようなものがいくつか見つかりました:

myObject = nil;

しかし、ここで、私がするとき:

for (int s = 0; s < aNumber; s++)
{
    [[ArrayOfViews objectAtIndex:s] release];
    [ArrayOfViews objectAtIndex:s] = nil;
}

それは私に別の「警告」を与えます:

「objective-c メッセージの「読み取り専用」戻り結果への割り当ては許可されていません」

どうすればこのような状況を解決できますか?

ありがとう !

4

1 に答える 1

2

配列が所有するオブジェクトを解放しようとしているために発生する最初のエラー。NSMutableArray オブジェクトは読み取り専用であり、単純に割り当てることはできません。そのため、2 番目のエラーが発生しています。オブジェクトを配列に挿入するには、 を使用しますaddObject:

あなたがしたいのは、 を呼び出すことです[ArrayOfViews removeAllObjects]

于 2013-09-28T17:30:05.170 に答える