tutorial query existing example español efecto data apple ios swift core-data

ios - query - Redención no válida en las clases de CoreData



swift 4 core data relationships (2)

De Apple: ¿ Qué hay de nuevo en Core Data?

Generación automática de subclas Xcode

Xcode ahora admite la generación automática de subclases NSManagedObject en la herramienta de modelado. En el inspector de entidades:

Manual / None es el comportamiento predeterminado y anterior; en este caso, debe implementar su propia subclase o usar NSManagedObject. La categoría / extensión genera una extensión de clase en un archivo llamado como ClassName + CoreDataGeneratedProperties. Debes declarar / implementar la clase principal (si está en Obj-C, a través de un encabezado, la extensión puede importar Nombre de clase llamado.h). La definición de clase genera archivos de subclase nombrados como ClassName + CoreDataClass, así como los archivos generados para Category / Extension.

Los archivos generados se colocan en DerivedData y se reconstruyen en la primera construcción después de guardar el modelo. También están indexados por Xcode, por lo que funciona haciendo clic en las referencias y abrir rápidamente por nombre de archivo.

No es necesario crear subclases manualmente para NSManagedObjects .

Sugeriría que elimine los archivos que creó con NSManagedObjects ( NSManagedObjects a la Papelera) y vaya a cada entidad en el Inspector de DataModel en Codegen seleccione: Manual / None y cree que las Subclases.

Estoy trabajando con CoreData, en una entidad llamada "RoleName".

El problema es: hago clic en "Crear subclase NSManagedObject" desde mi modelo, por lo que crea automáticamente las clases para mi entidad.

Sin embargo, en la declaración de la clase, recibo este error:

Redeclaración no válida de "RoleName"

a pesar de que no tengo ninguna otra clase con el mismo nombre.


Esto se debe a que Xcode maneja todo eso por sí mismo. Me pareció un poco problemático ya que las clases generadas automáticamente no tienen todas mis propiedades.

Así que sigue estos pasos para obtener esto como solía ser:

  • Elimine las clases que ya haya creado para datos básicos.
  • Establecer class.Module como módulo de producto actual

  • Establecer Class.codegen como Manual / None

  • Ahora seleccione su entidad y cree la subclase NSmanagedobject

  • Estas listo