Estoy tratando de crear una aplicación basada en documentos para la revisión de cerveza que le permita ingresar sus notas. Construí el modelo en Core Data y la vista en Interface Builder. Siguiendo algunos tutoriales basados en Xcode 3, me dicen que conecte el nuevo NSArrayController al managedObjectContext del propietario del archivo. Si intento hacer esto en Xcode 4, aparece un signo de exclamación en un círculo junto a "Model Key Path" en el inspector para NSArrayController.¿A qué enlaza el contexto de objetos gestionados de NSArrayController en Xcode 4?
De hecho, puedo cargar el archivo .xib en el Interface Builder en Xcode 3, hacer esa conexión y luego compilarla en Xcode 4 y ejecutarla, pero cada campo genera un error de validación.
El modelo tiene una entidad llamada Scoresheet, que tiene una propiedad denominada date, que es un NSDate. Pero si lo vinculo al valor de un NSDatePicker y trato de guardarlo en el disco, dice que tengo "múltiples errores de validación". ¿Cómo puede que ser? Ambos son NSDates, ¿verdad? En realidad, tengo el mismo problema con las ataduras de todo; ninguno de mis objetos UI funcionará con mi modelo.
Lo único que puedo entender es que hay un problema en la conexión entre el propietario del archivo y NSArrayController.
No he escrito ningún código en este momento, porque entiendo que no debería tener que solo vincular los campos de IU y los datos de núcleo. ¿Es diferente porque estoy usando una aplicación basada en documentos? (Tampoco puedo hacer que funcione en una aplicación de ventana única)
Una respuesta de "no utilizar datos principales" no va a ser productiva; Sé que puedo recurrir a un objeto de datos normal. Me gustaría resolver esto en el contexto de Core Data si es posible.
TIA!
(Actualización: esta pregunta parece molestar a mucha gente. He consultado el libro Zarra sobre Core Data, el libro Hillegas sobre Cocoa Programming y dos libros O'Reilly. Todos parecen estar basados en Xcode 3.)
¿Qué ocurre si agrega un contexto de objeto administrado al archivo xib?En un proyecto de prueba pude vincular un controlador de matriz al contexto de objeto gestionado, pero recibí un error cuando ejecuté el proyecto diciendo que no podía crear un NSArray de la clase NSManagedObjectContext. Pero podría funcionar para usted ya que tiene un modelo de datos que funciona y yo tenía un modelo de datos ficticio. –
El propietario del archivo en el xib debe ser la clase de su documento, como ImHuntingWabbits declaró en su respuesta. ¿Qué clase te has propuesto? ¿Y a qué propiedad NSArrayController está intentando conectar? – Huperniketes