es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Pueden las clases de entidades generadas por código de CoreData ser marcadas como `internal` en lugar de `public`?

Estoy creando un framework para iOS que utiliza internamente CoreData. He creado un modelo de entidad de CoreData para declarar las entidades. Para cada entidad, he declarado que se crea una clase correspondiente a través de la generación de código. ¿Hay alguna forma de marcar estas definiciones de clase como ‘internal’ en lugar de ‘public’, ya que no necesito que las aplicaciones que usen este framework vean estas clases?

Sé que puedo crear manualmente las definiciones de clase, pero esto parece innecesariamente tedioso para resolver este problema.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una forma de marcar las definiciones de clase como internal. Puede hacer esto configurando la opción de Generación de Código en “Manual/Ninguna” en el Inspector del Modelo de Datos de la Entidad. Esto evitará que Xcode genere automáticamente las definiciones de clase.

    A continuación, puede crear las definiciones de clase manualmente y marcarlas como internal agregando el modificador de nivel de acceso internal antes de la declaración de la clase.

    Por ejemplo:

    internal class MiClaseEntidad: NSManagedObject {
        ...
    }
    

    Al hacer esto, las definiciones de clase solo serán visibles dentro del módulo (es decir, su marco) y no fuera de él.

    Tenga en cuenta que si necesita acceder a estas clases desde otros módulos dentro de su marco, puede marcarlas como internal o public según sea necesario dentro del contexto de ese módulo.

Comments are closed.