¿Cómo utilizar los modelos Core Data sin guardarlos?

Estoy escribiendo una aplicación y estoy usando MagicalRecord como marco para interactuar con Core Data. La aplicación obtiene una serie de carteles de un servidor y luego los muestra. Los carteles también pueden crearse en la aplicación y luego cargarse en el servidor si el usuario lo requiere.

Por lo tanto, los carteles creados por el usuario se almacenan en la base de datos local con Core Data, mientras que los carteles obtenidos del servidor solo se deben mostrar en la aplicación pero no se deben guardar localmente. ¿Cómo puedo usar la misma clase de póster (que ahora es una subclase de NSManagedObject) para manejar estos dos casos?

Aquí está mi clase:

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

Cuando recupero la matriz de pósters del servidor, asigno un nuevo póster y luego asigno atributos:

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

Pero al llegar al poster.posterID vinculado = [dict, etc., la aplicación falla con este error

La aplicación finalizó debido a la excepción no detectada 'NSInvalidArgumentException', razón: '- [Poster setPosterID:]: selector no reconocido enviado a la instancia 0xaa8b160'

Si creo el nuevo objeto conPoster *poster = [Poster createEntity]; en lugar dePoster *poster = [[Poster alloc] init];, la aplicación no falla, pero cuando guardo el contexto, encuentro que todos los carteles obtenidos del servidor se guardan localmente.

¿Como puedo resolver esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta