我有两个实体叫做播放列表和歌曲。首先,我使用以下代码将选定的播放列表传递给我的单身人士:
optionsSingle = [rowNumber singleObj];
optionsSingle.selectedRowNow = [devices objectAtIndex:indexPath.row];
optionsSingle.selectedRowNow
将返回类似这样的内容,具体取决于名称:
0xb922600 <x-coredata://053340C7-00A3-47EA-A213-4A9B6164504F/Playlists/p6> ; data: {
playlistName = playlist1;
songs = "<relationship fault: 0xb961480 'songs'>";
})
问题是当我尝试在addSongsViewController
中使用此播放列表对象时,它似乎无效。
我试图将这样的内容包含在songsDone
方法中,但它不会让我使用addSongsObject
。我已将2个实体包含在.m文件中。 optionsSingle.selectedRowNumber
被声明为'playlist'对象类型。为什么我不能在已经传递的播放列表对象上使用此方法?
[optionsSingle.selectedRowNumber addSongsObject:newManagedObject2]
songsDone Method。
-(IBAction)songsDone:(id)sender{
AppDelegate *appDelegate =
[[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context =
[appDelegate managedObjectContext];
Songs *newManagedObject2 = (Songs*)[NSEntityDescription insertNewObjectForEntityForName:@"Songs" inManagedObjectContext:context];
NSDate *today= [NSDate date];
[newManagedObject2 setValue:video.author forKey:@"author"];
[newManagedObject2 setValue:video.videoid forKey:@"link"];
[newManagedObject2 setValue:video.title forKey:@"songName"];
[newManagedObject2 setValue:today forKey:@"created"];
NSError *error = nil;
if (![_managedObjectContext save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
答案 0 :(得分:0)
(来自我上面的评论:) 如果selectedRowNumber
包含Playlists
对象,那么您应该声明它,而不是NSObject
。否则编译器无法“知道”它响应addSongsObject:
。 - 即。您应该在NSObject
属性的定义中将Playlists
替换为selectedRowNumber
。