Como usar modelos Core Data sem salvá-los?

Estou escrevendo um aplicativo e estou usando o MagicalRecord como uma estrutura para interagir com o Core Data. O aplicativo busca uma matriz de pôsteres de um servidor e, em seguida, os exibe. Cartazes também podem ser criados no aplicativo e, em seguida, enviados para o servidor, se o usuário exigir.

Assim, os pôsteres criados pelo usuário são armazenados no banco de dados local usando o Core Data, enquanto os pôsteres obtidos do servidor só devem ser exibidos no aplicativo, mas não salvos localmente. Como posso usar a mesma classe Poster (que agora é uma subclasse de NSManagedObject) para lidar com esses dois casos?

Aqui está minha aula:

@interface Poster : NSObject
@property (nonatomic, retain) NSNumber * posterID;
@property (nonatomic, retain) NSString * artists;
@end

Quando busco o array de posters do servidor, eu aloco um novo pôster e, em seguida, atribuo atributos:

Poster *poster = [[Poster alloc] init];
if ([dict objectForKey:@"id"]) poster.posterID = [dict objectForKey:@"id"];
if ([dict objectForKey:@"artists"]) poster.artists = [dict objectForKey:@"artists"];

Mas ao alcançar o poster.posterID vinculado = [dict etc etc o aplicativo falha com este erro

Aplicativo de finalização devido à exceção não identificada 'NSInvalidArgumentException', razão: '- [Poster setPosterID:]: seletor não reconhecido enviado para a instância 0xaa8b160'

Se eu criar o novo objeto comPoster *poster = [Poster createEntity]; ao invés dePoster *poster = [[Poster alloc] init];, o aplicativo não falha, mas quando eu salvo o contexto, eu encontro todos os cartazes obtidos do servidor são salvos localmente.

Como posso resolver isso?

questionAnswers(2)

yourAnswerToTheQuestion