Este error me ha vuelto loco desde que comencé a usar Xcode (4.6.3). Cada vez que intento vincular un elemento de Storyboard a mi código, aparece el error:
No se pudo encontrar ninguna información para la clase llamada ViewController.
Esto también sucede con las clases personalizadas. He probado métodos como:
- Eliminar los datos delegados.
- Eliminar y volver a agregar las clases.
- Reiniciando Xcode.
- Reinstalar Xcode.
No puedo presionar ctrl-drag para crear conexiones en ninguno de mis proyectos sin importar la clase. El mismo problema ocurre con una nueva aplicación de plantilla. Si escribo el código manualmente y luego presiono ctrl-drag, puedo establecer una conexión que funcione, pero no puedo agregarla automáticamente. Nada de lo que he podido encontrar hasta ahora en Internet me ha ayudado. Cualquier puntero?
NSLog()
toviewDidLoad:
Respuestas:
Lo que resolvió este problema para mí fue en realidad eliminar la clase del proyecto.
Pasos:
Esto parece forzar a Xcode a vincular la clase nuevamente en el guión gráfico.
Nota: para mí lo siguiente no funcionó:
Creo que esto es un error por parte de Apple
fuente
En caso de que alguien todavía esté frustrado por esto, hay un truco para que las cosas funcionen.
Lo que hago es ingresar manualmente una salida en mi clase, por ejemplo:
@IBOutlet weak var someView: UIView!
y arrastrar desde el código a la vista en IB o storyboard. Después de esto, puedo arrastrar desde IB / Storyboard a mi clase para hacer conexiones, los editores asistentes reconocen la clase en "Automático", etc.Funciona todo el tiempo.
fuente
Para mí, eliminarlos de su membresía objetivo en la columna derecha y agregarlos nuevamente fue el truco
fuente
En algún momento Xcode lo hace debido a que VC no hace referencia al archivo de clase. La solución simple para esto es:
escriba la propiedad manualmente como se indica.
Esto hará un signo de enlace vacío antes de @IBOutlet , abra su proyecto en el editor asistente, luego haga clic en el signo de enlace y arrastre a la Vista que desea conectar (me he conectado con TableView). y eso es. ¡Disfruta de Happy Coding!
fuente
Acabo de tener este problema en abril de 2017 con Xcode 8
Simplemente creando una salida a través del código y compilando lo arregló. p.ej:
Tienes que amar Xcode ...
Editar: sigue sucediendo en Xcode 9
fuente
los siguientes pasos funcionan para mí, espero que funcionen para usted también
1- Debe volver a abrir su proyecto después de cerrar Xcode.
2- Espere a indexar archivos de proyecto
3- Comprueba si funciona o no
4- Si aún no funciona, sigue el paso 5, si no te gusta :)
5- Limpia y construye el objetivo de tu proyecto
fuente
Intenté todo y no funcionó, así que para mí lo que funcionó es:
No se reconocían todos mis controladores de vista, por lo que eliminar todos los archivos y volver a agregarlos no era una opción, ya que este es un gran proyecto.
fuente
Para mí, lo siguiente funcionó:
Haga una 'limpieza' y una 'carpeta de compilación limpia' (presione 'opción' en el menú Producto para obtener el comando 'limpiar carpeta de compilación'
Detener Xcode
En la terminal, vaya a la carpeta de datos derivados:
(/ Users // Library / Developer / Xcode / DerivedData)
Elimine el directorio de datos derivados para su proyecto.
Agita el pollo muerto en el aire
Iniciar Xcode
fuente
Tuve que hacer una combinación de un par de respuestas hasta ahora:
(Haga clic en el botón amarillo en la parte superior izquierda del controlador de vista en el guión gráfico -> vaya al inspector de identidad (opción + comando + 3) -> elimine el nombre de la clase personalizada en la parte superior)
(Haga clic derecho en el archivo -> eliminar -> eliminar referencia)
(Haga clic derecho en la carpeta donde estaba el archivo -> "Agregar archivo a [proyecto]")
fuente
Si la gente prueba lo anterior y las cosas aún no funcionan, el extraño truco que funcionó para mí fue agregar la salida en un espacio en blanco. Funciona si no hay otras líneas directamente encima o debajo de la línea que está agregando. ¡Extraño, pero funcionó!
fuente
Lo que funcionó para mí fue, en lugar de arrastrar la conexión desde el botón al código, fue:
Después de vincular mi código de esta manera, funcionó normalmente a partir de entonces.
fuente
¡Mantente en el blanco!
Estaba agregando una nueva clase con una Xib y comencé a ver este problema y pasé un buen rato mirando las respuestas aquí y viendo si algo de eso marcaba la diferencia.
Como sucede, tengo múltiples objetivos en mi espacio de trabajo y, a menudo, tengo que cambiar entre ellos.
Resulta que agregar nuevos archivos iniciará una reindexación en Xcode. Pero si está apuntando al objetivo incorrecto, es probable que la indexación no tenga sentido y durante el arrastre para conectar Xcode no podrá encontrar su clase.
En breve
Paso 1.
Asegúrese de tener el conjunto de objetivos correcto para que la indexación tenga sentido.
fuente
Esto funcionó para mí:
(presione y mantenga presionada la tecla 'opción' y vaya al " Producto menú " para acceder a ella.
En una nota al margen, no estoy seguro de si esto ayudó, pero también eliminé los datos derivados antes de realizar los pasos anteriores (Preferencias de Xcode> Ubicaciones)
fuente
Seleccione ViewController en storyBoard, elimine el valor actual en el panel derecho / "Clase de cliente" / "clase" y luego vuelva a agregar la clase de control (tipo: "SampleViewController" ...), ingrese. -> Eso funciona para mí
fuente
Intenté todas estas respuestas, el problema para mí estaba relacionado con que Xcode no podía indexar los archivos. Lo arreglé simplemente saliendo de Xcode y volviendo a abrir el proyecto. Por supuesto que lo hice después de probar todas las soluciones anteriores: p
fuente
Producto> Limpiar (Comando - Shift - K) lo arregló para mí!
fuente
Este es el paso MÁS FÁCIL que hice para solucionar este problema.
fuente
Como mi experiencia de prueba, si elimina una clase que estaba asociada en el Xcode, y luego agrega el archivo nuevamente, entonces se producirá este problema.
fuente
Por lo general, cuando esto me sucede, todavía no he guardado el código para la clase. Simplemente salte al código y presione cmd + s, y a menudo soluciona el problema de la manera correcta.
fuente
Solo necesito limpiar y reconstruir el proyecto.
fuente
Ninguno de los pasos anteriores me funcionó, pero creo que descubrí el problema. Al menos es lo que funcionó para mí, y no es un error en Xcode.
Cuando esté en el editor asistente, mire la parte superior de la ventana que tiene el código para su viewController. La tercera opción de la derecha probablemente dice "Manual", pero debería decir "Automático". Una vez que cambié esto, ¡el problema se resolvió!
fuente
Estaba teniendo un problema similar, "No pude encontrar una clase llamada ..." y la causa fue estúpida de mi parte una vez que lo descubrí. Asegúrese de no arrastrar desde el elemento a la interfaz ; asegúrese de que se esté arrastrando a la clase misma
fuente
¡Lo intenté TODO!
Asegúrese de que el nombre de clase de su UIViewController no contenga la palabra "Prueba"
Informe de error enviado.
fuente
Intentaría rehacer los archivos .m y .h en cuestión y darles un nombre original, no genérico como "ViewController". Pruebe algo más en la línea de lo que desea que haga ese archivo y que termine en View Controller (es decir, "PizzaDecoraterViewController")
Luego seleccione el ViewController que desea conectar a esos archivos. Asegúrese de seleccionar el ViewController, no solo un objeto dentro. Haga clic en la barra negra en la parte inferior (la que tiene los iconos "Primer respondedor" y "Salir"). Todo el ViewController debería ser azul. Luego, vaya a la sección Clase personalizada en el Inspector de identidad y debería ver un "UIViewController" en gris en el primer campo. En ese campo, escriba el nombre del archivo .h o .m al que desea que se conecte (comience a escribir PizzaDecorator ... y debería hacer algo pequeño de autocompletar). Luego presiona ENTER.
Cuando abra el Editor Asistente, asegúrese de que el archivo al que está intentando arrastrar y soltar es, de hecho, el archivo correcto.
Si ha hecho todo como se dijo anteriormente, entonces debería funcionar.
fuente
Como comenté en la respuesta de @ ChrisHarrison, esas cosas no funcionaron para mí, pero al eliminar los datos derivados como lo hice, eliminé los datos derivados como en https://stackoverflow.com/a/16182672/1449799
fuente
Elimine los archivos (solo las referencias) y agregue los archivos nuevamente.
fuente
Bueno, en mi caso, lo que funcionó (es un poco raro, pero funcionó) es lo siguiente:
Intente agregar un origen de datos (por ejemplo, una extensión al ViewController como un UITableViewDataSource). Xcode intentará volver a cargar el ViewController. Luego escribí algún método del protocolo (al principio Xcode no completó automáticamente los métodos, pero lo escribí manualmente), luego agregué los IBOutlets y, por último, eliminé la fuente de datos.
Ejemplo:
fuente
Para mí, la vista para la que había especificado una clase personalizada no estaba siendo compilada por el generador de interfaces. Fue marcado
@IBDesignable
.Eliminando
@IBDesignable
, y luego agregando mis puntos de venta, y luego marcándolo como@IBDesignable
resuelto el problema en mi caso.fuente
Solo intenta eliminar los datos derivados del proyecto
fuente
solo prueba esto
fuente