2014-01-17 3 views
0

У меня есть 2 объекта, которые вызывают плейлисты и песни. Сначала я передаю выбранный список воспроизведения в мой одноточечного, используя этот код:Создайте связь между двумя объектами в разных ViewControllers

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(); 

} 
+1

Если 'selectedRowNumber' содержит объект' Playlists', вы должны объявить его как таковой, а не как 'NSObject'. - В противном случае компилятор не может «знать», что отвечает на «addSongsObject:». –

+0

Как это объявить? – user3195388

+0

Заменить 'NSObject' на' Playlists' в определении свойства 'selectedRowNumber'. –

ответ

0

(Из моего выше комментария :) Если selectedRowNumber содержит Playlists объект, то вы должны объявить его как таковой, а не как NSObject. В противном случае компилятор не может «знать», что он отвечает на addSongsObject:. - I.e. вы должны заменить NSObject на Playlists в определении объекта selectedRowNumber.

Смежные вопросы