我正在推动 View Conroller,然后当我通过段控制器弹出它以返回原始状态时。有几个值会改变。一个是距离值(浮点数),另一个是存储为二进制数据的缩略图。
有没有办法告诉 Core Data 在它推送另一个 View Controller 之前基本上冻结这个数组(它当前是一个数组)?也许将它复制到一个 tmpArray,然后在 viewDidAppear 上复制回该 tmpArray(如果存在)?听起来真的很hacky,但我需要让它工作。
谢谢
编辑#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]);