Это структура архитектуры coredata. coredata- отношения не могут правильно вести себя
После добавления записей в «Художники», их использование для добавления новых альбомов работает отлично.
Но проблема, как показано на img- 2 & 3, после присвоения "Майкла Джексона в альбом«Insomniac 2010»& затем добавить же художника к«Ребенок футов Ludacris»теряет ссылку из альбома «Insomniac».
Это код, где я сохранить контекст в AlbumDetailViewController.h
- (void)EntityRecordstableview:(UITableView *)tableView didselectrowatindexpath:(NSIndexPath *)indexPath forentity:(id)entity
{
Artist *selectedArtist = entity;
UITableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath];
[cell setSelected:NO animated:YES];
if ([self.pickedArtists containsObject:selectedArtist]) {
[self.pickedArtists removeObject:selectedArtist];
[cell setAccessoryType:UITableViewCellAccessoryNone];
editingAlbum.artist = self.pickedArtists;
[self saveTheContext:editingAlbum.managedObjectContext];
// NSLog(@"%d",self.pickedArtists.count);
}
else {
[self.pickedArtists addObject:selectedArtist];
[cell setAccessoryType:UITableViewCellAccessoryCheckmark];
editingAlbum.artist = self.pickedArtists;
[self saveTheContext:editingAlbum.managedObjectContext];
// NSLog(@"%d",self.pickedArtists.count);
}
}
Я думаю, что должны быть какие-то проблемы в сохранении managedObjectContext. ли оно должно быть, как это вместо того, чтобы
self.managedObjectContext = [(AppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
[self saveTheContext:self.managedObjectContext];
из
[self saveTheContext:editingAlbum.managedObjectContext];
Я попытался это, но это также не в состоянии работать в соответствии с ожиданиями.
You can find my source code here
Привет, спасибо. Спасибо за обновление моего кода. Это похоже на то, что я сделал плоскую тарелку готовой для меня. :) Спасибо Вам большое –