私はまだNSMangedObject
sを初めて使用し、特定のインデックスでオブジェクトを置き換えるのに問題があります。
for (NSString *file in filelist){
NSManagedObject *fileEntity = [NSEntityDescription insertNewObjectForEntityForName:@"File" inManagedObjectContext:[self managedObjectContext]];
[fileEntity setValue:file forKey:@"filename"];
NSImage *audioImage = [NSImage imageNamed:@"tag_white.png"];
[fileEntity setValue:audioImage forKey:@"taggedImage"];
[markedAudioFiles addObject:audioImage];
}
ご覧のとおり、管理対象オブジェクトに簡単に挿入できます。テーブル上のファイルとすべてを表示します。ただし、キーの特定のインデックスでいくつかの値を変更したいと思い@"taggedImage"
ます。
だから私はこのようなことを試みました:
NSEntityDescription *fileEntity = [NSEntityDescription entityForName:@"File" inManagedObjectContext:[self managedObjectContext]];
NSImage *audioImage = [NSImage imageNamed:@"tag_green.png"];
[fileEntity replaceValueAtIndex:index inPropertyWithKey:@"taggedImage" withValue:audioImage];
私が得るエラーは次のとおりです。
[valueForUndefinedKey:]:このクラスは、キーtagedImageのキー値コーディングに準拠していません。
fileEntity
上記の宣言を次のように置き換えてみました
NSManagedObject *fileEntity = [NSEntityDescription insertNewObjectForEntityForName:@"File" inManagedObjectContext:[self managedObjectContext]];
しかし、それは新しいオブジェクトではないので、私はそれが間違っていると思いました。