ios - microsoft - visual studio installer
Clase desconocida en el constructor de interfaces (10)
Sé que hay muchas preguntas sobre este tema, pero he intentado la mayoría de ellas para tratar de resolverlo sin éxito.
El problema: al principio no pude agregar mi clase desde el editor asistente porque la clase personalizada no la detectó.
- Me aseguré de que las llamadas hereda de uiviewcontroller
- Me aseguré de que la clase se agregue al objetivo
- Intenté eliminar el archivo de clase y volver a agregarlo
- Finalmente, agregué la clase a través del guión gráfico xml y apareció en la clase personalizada.
Ahora estoy tratando de conectar mis botones, vistas, etc. a sus puntos de venta. Parece que están conectados, pero cuando ejecutan la aplicación y abren ese controlador de vista, la aplicación falla y el depurador imprime: "Clase desconocida xxx en el archivo Interface Builder". y que "esta clase no es compatible con el valor de clave para la clave btnMenu".
He comprobado:
- Ese inspector de conexión está correctamente configurado (no hay error en las salidas allí)
- Intenté borrar los datos derivados
- Proyecto limpio
- Reinstalar la aplicación
Incluso intenté reiniciar mi Mac y, por supuesto, no tuve éxito.
¿Alguien puede poner algo de luz aquí? Gracias.
Acabo de suceder esto con una subclase UIViewController (con Xcode 9 beta 2 y Swift 4) y la solución fue marcar "Heredar de destino" donde establecí la Clase personalizada en IB.
Si su vista se encuentra en un archivo .bundle
(como para un framework / biblioteca estática) que se copia en un destino diferente, querrá establecer un objetivo explícito de módulo para cada clase de xib / storyboard en lugar de heredarlo. del objetivo que lo aloja.
Comprueba el nombre de tu clase. Asegúrese de que corresponde a la clase a la que ha asignado su ViewController en el inspector de propiedades.
Debe crear una instancia del controlador de vista con la clase personalizada. Sin eso podrías tener el error.
self.storyboard!.instantiateViewController(withIdentifier: "namePage") as! EmailAndPassword
Lo que @Anthony Scott mencionó es cierto hasta que tenga Framework_A dependiente de Framework_B y la clase sea de Framework_B :) Luego, debe desmarcar la casilla de verificación y proporcionar el Módulo que contiene la clase dada. Gracias por la pregunta por cierto. Estoy usando el marco de Commons para otros marcos y me ayudó a darme cuenta de esto;) Para aquellos que desarrollan marcos personalizados de Cocoa Touch, esto puede ser útil.
Me encontré con este error porque accidentalmente guardé mi archivo de clase en la carpeta Base.lproj cuando lo creé.
Solucioné el error haciendo clic con el botón derecho en el archivo en el Project Navigator y borrando la referencia a él. Luego moví el archivo a través de Finder a la carpeta correcta. Luego hice clic con el botón derecho en el grupo principal en el Project Navigator e hice clic en Add Files to "GroupName"...
y seleccioné la clase e hice clic en el botón Add
.
Después de eso el error desapareció.
Si está intentando asignar una clase a un ViewController, asegúrese de que la clase que creó esté heredando un UIViewController. La única razón por la que xCode no reconocerá su clase es que es un tipo diferente de instancia, digamos, puede ser un tipo UITableViewController.
Por favor, compruebe primero la herencia de su clase.
Tuve este problema con un UIView personalizado que estaba probando, donde UIView estaba en un marco. Creé una aplicación simple, creé una UIView en el ViewController predeterminado del Storyboard y configuré su clase en MyCustomView. Siempre recibí el error "Clase desconocida en el generador de interfaces" cuando se inició la aplicación. Estaba importando mi marco, y verifiqué en el producto construido que el marco estaba allí.
El problema era que el código de mi aplicación de prueba nunca usaba el marco. Aunque el Storyboard lo mencionó, supongo que nunca se cargó. Cuando agregué un [MyCustomView load];
en el código de la aplicación de prueba, todo funcionó.
nada de esto ayudó. Mi problema fue que creé guiones gráficos y añadí clases personalizadas. Pero olvidé tomar la flecha del controlador de vista inicial del guión gráfico principal generado automáticamente y cambié el guión gráfico inicial a mi guión gráfico personalizado que lo arregló para mí.
ok, así que no sé cómo ni por qué, pero hice (OTRA VEZ) lo que ya probé antes, que es:
- borrando la clase
- creando la misma clase con nuevo nombre
- Retiré la escena y la recreamos en el storyboard.
- Conectado todo (de la misma manera habitual !!!)
ahora parece que Xcode conoce a mi clase ... todavía no sé cuál fue el problema, pero creo que tiene algo que ver con el enlazador.