我在使用 Core Data 时遇到问题。我有一个将数据链接到 NSTableView 的数组控制器设置。
我有一个每隔几秒钟运行一次代码的函数,并在其中显示文件列表
NSEntityDescription *entity = [NSEntityDescription entityForName:@"File"
inManagedObjectContext:[self managedObjectContext]];
[request setEntity:entity];
NSError *error = nil;
NSArray *fetchedObjects =[_managedObjectContext executeFetchRequest:request
error:&error];
for (NSManagedObject *objectt in fetchedObjects) {
NSLog(@"Object Name: %@", [objectt valueForKey:@"filename"]);
}
NSManagedObject *object = [fetchedObjects objectAtIndex:index];
NSLog(@"Filename: %@, Index: %ld", [object valueForKey:@"filename"], index);
NSString *imageName = [object valueForKey:@"imageName"];
NSImage *image = [object valueForKey:@"taggedImage"];
第一次运行此代码时,列表与表列匹配。当它再次运行时,从数组控制器获取的内容发生了变化,但 tableview 没有。所以它不再同步。
表和数组的同一索引处的值不同。