У меня есть модель данных с несколькими объектами. Для объектов, связанных друг с другом, после извлечения из одного объекта я могу получить доступ к атрибуту из другого объекта через отношение.IOS: получение данных ядра через отношение к одному
//class for artists
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class Songs;
@interface Artists : NSManagedObject
@property (nonatomic, retain) NSString * artistname;
//this is relationship
@property (nonatomic, retain) Songs *songs;
//class for Songs
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class Artists;
@interface Songs : NSManagedObject
@property (nonatomic, retain) NSString * songname;
//this is relationship
@property (nonatomic, retain) Artists *artists;
Если отношения один-к-одному, когда я выполнял выборку художников и имеют managedobjectcontext, я могу получить песню каждого художника, используя следующие:
NSLog(@"song for one hit wonder%@",self.artists.songs.songname);
Когда Я изменяю отношения от одного к одному, чтобы один-ко-многим, т. Е. Один художник, много песен, это больше не работает и выдает ошибку, которая ссылается [_NSFaultingMutableSet songname
Я попытался получить доступ к песне, используя значение для ключа безуспешно.
NSLog(@"songs:%@",self.artists.songs.valueForKey[@"songname"]);
Кроме того, я попытался включить NSSet где-то с ссылкой сообщения об ошибке изменяемого набора и один-к-многих якобы захватил этот путь, но я не могу понять, как использовать NSSet.
NSSet *songs = self.artists.songs.songname;//gives incompatible pointer type warning
Любые предложения, как один для извлечения значения из другого лица в случае отношения один-ко-многим было бы весьма признателен.
ОК. Итак, NSString изменится на NSSet? – zztop
Я изменил NSString на NSSet и все еще получаю ошибку _NSFaultingMutableSet с именем песни – zztop
Я обновил ответ. Самое простое исправление - воссоздать подклассы 'NSManagedObject' в Xcode. – vadian