View Conroller をプッシュしてから、セグメント コントローラを介してポップすると、元の状態に戻ります。いくつかの値が変更されます。1 つは距離値 (float) で、もう 1 つはバイナリ データとして保存されるサムネイルです。
他のView Controllerをプッシュする前に、コアデータにこの配列(現在は配列です)を本質的にフリーズするように指示する方法はありますか? たぶんそれを tmpArray にコピーしてから、存在する場合は viewDidAppear にその tmpArray をコピーして戻しますか? 本当にハックに聞こえますが、これを機能させる必要があります。
どうも
編集#1
そこで、問題が発生する場所に関するコードをいくつか示します。したがって、getAllLocationsWithFinished によって self.tmpLocations が変更されているようです。
//works
NSLog(@"#1 locations right before call: %@",[self.locations objectAtIndex:2]);
self.tmpLocations=[[NSArray alloc] initWithArray:[self.locations copy]];
//works
NSLog(@"#2 locations right before call: %@",[self.tmpLocations objectAtIndex:2]);
[[ModelManager sharedModelManager] getAllLocationsWithFinished:^(NSArray* map_locations)
{
// data is off
NSLog(@"#3 locations right before call: %@",[self.tmpLocations objectAtIndex:2]);