NSMutableArray で removeObjectAtIndex を呼び出すと、アプリで例外がスローされ、myLocationsArray が不変であると宣言されるという問題がありました。その配列に対する他のすべての操作は問題なく、間違いなく正しく宣言されていましたが、アプリのどこかで不変として設定されていました。不変に設定されている場所を見つけようとしてしばらく調査した後、私はそれを台無しにして、変数を次のように再宣言することにしました:
myLocationsArray = [[NSMutableArray alloc] initWithArray:[defaults
objectForKey:MYLOCATIONSARRAY_KEY]];
removeObjectAtIndex 呼び出しの直前。
ただし、これは間違っているに違いないことはわかっています。同じ変数で alloc/init を 2 回呼び出しています。ただし、機能したのはそれだけです。私のようにメモリリークを引き起こすことなく、この変数が NSMutableArray であることを思い出させる方法はありますか?