ios - query - swift 4 core data relationships
La subclase Xcode NSManagedObject contiene opciones cuando se marcan como no opcionales (3)
"Opcional" significa algo diferente para Core Data que para Swift.
- Si un atributo de datos básicos no es opcional, debe tener un valor no nulo cuando guarda los cambios . En otras ocasiones, a Core Data no le importa si el atributo es nulo.
- Si una propiedad Swift no es opcional, debe tener un valor no nulo en todo momento después de que se complete la inicialización.
Hacer que un atributo de datos básicos no sea opcional no implica que no sea opcional en el sentido rápido del término. Es por eso que el código generado hace que estas propiedades sean opcionales; en lo que respecta a Core Data, es legal tener valores nulos, excepto al guardar los cambios.
Tengo una entidad de datos central llamada Film que tiene el título y la fecha de las propiedades. Noté que la subclase NSManagedObject generada contiene propiedades opcionales NSManaged, aunque marqué las propiedades como no opcionales en el inspector de datos principales.
¿Puedo cambiarlo manualmente como propiedad no opcional o es una mejor opción dejarlo como opcional? ¿Por qué?
Cree la clase managedobject y cambie el tipo de clase de entidad a manual y agregue estas clases al alcance de su proyecto.
Edite el objeto gestionado para que no sea opcional. Esto significa que necesita mantener esta clase usted mismo y hacer cualquier cambio tanto en el modelo de datos básicos como en la clase
Si su modelo de datos es estable y no se cambiará, puede usar esto.
Este es un problema conocido. Algunas personas lo cambian a no opcional sin efectos adversos, lo mantengo en la forma en que se generó y espero una solución temprana.
Siempre ayuda si envía un error a Apple para aumentar la visibilidad y la prioridad.