poo clases clase ios swift visibility nsmanagedobject

ios - poo - clases en swift 4



¿Por qué la extensión de mi clase Swift no es visible fuera del archivo de definición? (2)

No veo ningún modificador público en esos métodos.

Tengo una clase NSManagedObject generada por Xcode para mi modelo CoreData.

@objc(SomeClass) class SomeClass : NSManagedObject { /* ... */ }

Se define en un archivo llamado ''SomeClass.swift''. Me gustaría extender esta clase, así que creé ''SomeClassExtension.swift''. Defino la extensión así:

extension SomeClass { class func typeMethod1() {} func instanceMethod2() {} }

Estos métodos de extensión pueden usarse dentro de este archivo de definición, pero no son visibles fuera de él. ¿Qué está causando este problema?


Parece que su nuevo archivo (SomeClassExtension.swift) no se incluyó en el objetivo correcto. Vuelva a verificar la membresía de destino del archivo seleccionando el archivo en Xcode, luego abriendo el "Inspector de archivos" (menú Ver> Utilidades> Mostrar inspector de archivos). Asegúrese de que los objetivos correctos estén marcados en el encabezado de Membresía de destino .