Tengo una interfaz de usuario para insertar una transacción. una vez que el usuario hace clic en un signo más, obtiene la pantalla y quiero crear una instancia de mi entidad NSDA de datos básicos que permite al usuario trabajar en ella. Luego, cuando el usuario haga clic en el botón Guardar, llamaré a la función de guardar.¿Hay alguna forma de instanciar un NSManagedObject sin insertarlo?
tan abajo al código:
transaction = (Transaction *)[NSEntityDescription insertNewObjectForEntityForName:@"Transaction" inManagedObjectContext:self.managedObjectContext];
//even if i dont call save: its going to show up on my table
[self.managedObjectContext save:&error]
P.S Estoy utilizando un NSFetchedResultsController en esa mesa y veo que la NSFetchedResultsController es la inserción de una sección y un objeto a la mesa.
Mi idea es si hay una manera de instanciar la Transacción NSManagedObject podría actualizarlo sin guardar hasta que el cliente elija.
Hola @tc. Probé la primera respuesta que es insertarIntoManagedObjectContext: nil, pero cuando quise asignar una relación, la aplicación se bloqueó con un error: reason: 'Intento ilegal de establecer una relación' categoría 'entre objetos en diferentes contextos. así que supongo que mi pregunta es que, dado que no es legal establecer una relación entre un objeto NSManaged de contexto y un objeto gestionado fuera de contexto, ¿cuál sería la solución? –
Terminé creando una entidad de categoría de la misma manera sin contexto, pero cuando se trataba de ahorrar, añadía tanto al contexto como luego funcionaba bien. –
Puedo dar fe de la corrección de esta respuesta.Acabo de recibir un problema relacionado con tener el contexto nulo para un objeto. Los valores de atributo que se asignan al objeto antes de agregarlo a un contexto no se propagan al contexto primario cuando finalmente el objeto se agrega al contexto secundario. Los atributos se almacenan como 'nil' en el almacén de persistencia. Cuando cambié el orden (es decir, asignó valores de atributo después de insertarlo en un contexto), las cosas funcionaron correctamente. Moraleja de la historia es que no es una buena idea crear una instancia de un objeto sin un contexto. –