CoreDataに問題があります。データを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"];
このコードを初めて実行すると、リストはテーブルの列と一致します。再度実行すると、アレイコントローラからフェッチされたものは変更されますが、テーブルビューは変更されません。そのため、もう同期していません。
テーブルと配列の同じインデックスの値は異なります。