にNSTableView
バインドして使用する がありArrayController
、ディレクトリを開いて、テーブル内のファイルを問題なく表示できます。画像を保持する列もあります。私はアプリケーションを終了して戻ってきましたが、ファイルリストがまだ残っています。
今私が問題を抱えている部分は、ボタンを押して画像を変更し、アプリを閉じて再度開くと、新しい画像ではなく古い画像が表示されることです。また、画像名はnullです。
これは、CoreData の画像を更新する方法です
NSEntityDescription *entity = [NSEntityDescription entityForName:@"File" inManagedObjectContext:[self managedObjectContext]];
[request setEntity:entity];
NSError *error = nil;
NSArray *fetchedObjects =[_managedObjectContext executeFetchRequest:request error:&error];
NSManagedObject *object = [fetchedObjects objectAtIndex:currentAudioIndex];
NSImage *image = [object valueForKey:@"taggedImage"];
if ([[image name] isEqualToString:@"tag_green"]) {
NSImage *tagImage = [NSImage imageNamed:@"tag_red.png"];
[object setValue:tagImage forKey:@"taggedImage"];
}
ディレクトリを開いてファイルのリストを取得すると、画像を変更でき、テーブルが更新されますが、アプリを閉じて再度開くと、ファイルはそこにありますが、変更された画像はなく、画像を変更しようとすると上記のコードでは、イメージ名はNULL
.