私は持っていNSMutableArray
ますNSMutableArrays
:
NSMutableArray *array = [[NSMutableArray alloc]init];
for (int i = 0; i < 5; i++)
{
NSMutableArray *miniArray = [[NSMutableArray alloc]init];
for (int k = 0; k < 30; k++)
{
[miniArray addObject:@"0"];
}
[array addObject:miniArray];
}
次に、これを実行しようとすると、次のようになります。
[[array objectAtIndex:packIndex]replaceObjectAtIndex:index withObject:@"1"];
クラッシュします:[__NSCFArray replaceObjectAtIndex:withObject:]: mutating method sent to immutable object'
なんで ?直し方 ?ありがとう !
UPD:この配列を:に保存しNSUserDefaults
ます
[defaults setObject:array forKey:@"mainArray"];
それから、私は他のクラスでそれを読みました:
array = [[NSMutableArray alloc]initWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"mainArray"]];
また、コードが正常に実行され、「0」から「1」に変わる場合があることにも言及する必要があります。ただし、クラッシュすることもあります。だから私はロジック、なぜそれがうまくいくのか、なぜそれが時々クラッシュするのかを見ることができません。