No se pudo insertar una nueva conexión de salida: no se pudo encontrar ninguna información para la clase denominada

281

Recibí un error en Xcode que decía que no había información sobre el controlador de vista.

No se pudo insertar una nueva conexión de salida: no se pudo encontrar ninguna información para la clase denominada

¿Por qué está pasando esto?

Captura de pantalla 1

Ege Kaan Gürkan
fuente
2
Creo que esto se ha preguntado antes: stackoverflow.com/questions/17735182/…
Tapani
Simplemente salí de Xcode, luego lo volví a abrir. el compilador volverá a cargar todos los archivos y podrá detectar el archivo que está buscando
Jane chicken
Compruebe que todavía no tiene una salida no conectada en su archivo de controlador de vista. Descubrí que lo hice. Después de eliminarlo no tuve problemas.
Kex
Para mí, ninguna de las soluciones anteriores funcionó. Tuve que eliminar el controlador de vista, que copié y pegué nuevamente en mi guión gráfico para volver a usarlo. Luego arrastré un nuevo controlador de vista en el guión gráfico y todo salió bien :). Espero que pueda ayudar a alguien con el mismo problema.
Arslan Saleem
Este es un ERROR en XCode, y no sé por qué no lo arreglan. Tienes que cerrar XCode y volver a abrir. Cuando vuelva a intentar poner los enchufes, pero esta vez deje un montón de ENTRADAS antes de hacerlo. No tiene que eliminar nada ni perder su tiempo en otras opciones ... Esto resolverá sus problemas.
mavesonzini

Respuestas:

692

Aquí hay algunas cosas que pueden solucionar esto (en orden creciente de dificultad):

  • Limpiar el proyecto ( Producto> Limpiar )
  • Pegar manualmente

    @IBOutlet weak var viewName: UIView!
    // or
    @IBAction func viewTapped(_ sender: Any) { }

    y control de arrastre a la misma. (Cambie el tipo según sea necesario). También vea esto .

  • Cierre completamente Xcode y reinicie su proyecto.

  • Elimine la carpeta de Datos Derivados (Vaya a Xcode> Preferencias > Ubicaciones y haga clic en la flecha gris junto a la carpeta de Datos Derivados. Luego elimine la carpeta de su proyecto).
  • Haga clic en eliminar en la clase, elimine la referencia (no Mover a la papelera) y vuelva a agregarla. (ver esta respuesta )
Suragch
fuente
no olvides eliminar la clase en el controlador de vista para que estos pasos funcionen
reggie
8
Ninguno de estos pasos me funcionó en Xcode 8.3.2. Tuve que "Mostrar el inspector de identidad"> borré el campo "Clase" (resalte el nombre de la clase personalizada y elimine)> vuelva a ingresar el nombre de la clase en el campo "Clase". Xcode completó automáticamente el nombre de la clase. Luego presiono enter.
PeqNP
Agregue la línea alias purgederiveddata='rm -rf ~/Library/Developer/Xcode/DerivedData/*'a su ~ / .bashrc para usar el comando purgederiveddatapara borrar con un comando
eskimwier
Encontré otra forma de solucionar este problema, esto me sucedió cuando cambié algunas configuraciones de compilación para mejorar mi velocidad de compilación. stackoverflow.com/a/50555888/2952876
Mathias Van Houtte
Les recomiendo a todos que prueben mi solución a continuación. Sería destripado saber que las personas tienen que reiniciar sus computadoras por un error que aparece con frecuencia.
Stephen Paul
134

O si ninguno de los anteriores funciona, escriba primero el nombre de la salida en el archivo @IBOutlet weak var headerHeightConstraint: NSLayoutConstraint!y luego haga clic y arrastre desde la salida en la punta a la variable que acaba de crear mediante programación. Debería funcionar sin la molestia de limpiar, construir y eliminar nada.

Stephen Paul
fuente
44
A menudo, la solución más rápida en lugar de pasar años para limpiar, construir, etc.
mohonish
1
Muy agradable y una vez que haces esto, el automático comienza a aparecer, gracias.
AmJa
1
Primero, conecte su objeto XIB a IBoutlets. Luego intente conectar sus restricciones IBOutlets. sin esto siempre mostrará error.
Chandramani
También puede marcar la diferencia cuando intentas insertar la nueva salida. Para, la parte superior de la lista (donde hay espacio libre arriba) funcionó; el medio de la lista no lo hizo.
Richard
1
Esto debe ser marcado como la mejor respuesta. Es más fácil, más rápido y más confiable. ¡También funciona todo el tiempo! Buen trabajo y gracias @StephenPaul
denis_lor
51

Simplemente realice los dos pasos siguientes para deshacerse de este error

  1. Proyecto limpio usando Producto> limpiar
  2. Ejecutar el proyecto

Ahora intente agregar la acción o salida. Eso es.

Codificación feliz

Akshaykumar Maldhure
fuente
44
Extraño ... estos dos sencillos pasos también me ayudaron a resolver el problema. Así que recomiendo probar primero estos sencillos pasos :-)
código cruzado del
49

Ninguno de los consejos en la mejor respuesta funcionó para mí. Se estaba volviendo loco. Luego noté que el Editor Asistente se había configurado de alguna manera en Manual y yo estaba en ViewController.swift (Interfaz) lugar del archivo ViewController.swift.

Cambió eso y se resolvió el problema. Un poco vergonzoso pero bueno, todos estamos aprendiendo.

ingrese la descripción de la imagen aquí

Joshua Dance
fuente
1
¡Respuesta de salvavidas! Ninguna de las otras respuestas lo resolvió una vez y para siempre. Lástima que la descripción del error no dé la menor pista de que podría estar en el archivo worng. Gracias. +1 para la imagen lo dejó todo claro.
Pauloco
Noté algo bastante similar, pero diferente: en la ruta en la parte superior donde se muestra el nombre de la clase, solo estaba el nombre de la clase, pero faltaba el comienzo de la ruta como myProject> appName> controller y luego la clase. Seleccioné otra clase y luego volví a la problemática, y todo
estuvo
15

Aquí están los pasos resueltos para mí:

  1. Elimine la referencia de nombre de clase de la vista (guión gráfico / xib) y guárdela;
  2. Agregue el nombre de la clase nuevamente y guarde;
  3. Limpiar y construir;

Hecho !

Almeida
fuente
10

Tuve el mismo problema. Cansé debajo de las soluciones pero no funcionó:

  1. Clean Project (cmd + shift + k) e incluso Clean Project Build (cmd + shift + alt + k)
  2. Deleted Derived data y Module Cache content

Debajo de la solución a este problema:

  1. Mover al archivo de código fuente y escribirlo IBOutlet / IBActionmanualmente (se prefiere copiar y pegar)

Captura de pantalla 1

  1. Luego vaya al archivo Storyboard y abra Utilites ventana
  2. Ir Connection Inspector
  3. Luego, conecte el archivo de origen IBOutlety IBActionescrito con Interface Builder.

Captura de pantalla 2

Jayprakash Dubey
fuente
Arrastrar puntos de venta / acciones no funcionaba en absoluto, pero después de hacerlo manualmente de esta manera, todo volvió a funcionar correctamente.
Jason
Este es un método alternativo estándar para hacer conexiones. En el caso de acciones de botón de radio, la única forma, AFAIK. En el guión gráfico, también puede hacer clic derecho en el controlador, encontrar la función y establecer la conexión.
Curt
8

Yo tuve el mismo problema. Me di cuenta de que en el elemento X-Code Manualse seleccionó cuando intenté crear una salida mediante el control y arrastre

ingrese la descripción de la imagen aquí

Después de configurarlo en automático funcionó

ingrese la descripción de la imagen aquí

Vitalii
fuente
Yo tuve el mismo problema. Ni siquiera noté la diferencia.
Joshua Dance
¡¡¡Excelente!!! He perdido tanto tiempo para este proyecto de limpieza de errores, reiniciando xCode, eliminando datos derivados, ¡pero esa fue la única solución que funcionó para mí! ¡Muchas gracias!
Anton Eregin
7

Resolví este problema creando mediante programación las etiquetas y los campos de texto, y luego arrastré con los comandos desde los pequeños círculos vacíos a la izquierda del código hasta los componentes del guión gráfico. Para ilustrar mi punto: escribí @IBOutlet weak var HelloLabel: UILabel!, presioné Command y arrastré el código al componente en el guión gráfico.

KuboAndTwoStrings
fuente
¡Esta solución funcionó perfectamente para mí! Aparte de esto @IBOutlet weak var myButton: UIButton, utilicé el mismo proceso para configurar @IBAction func doSomething(_ sender: Any) { }y luego conecté este func a UIButton en mi guión gráfico. Gracias por compartir esto @KuboAndTwoStrings
Nii Mantse
6
  1. Cierre el proyecto en el que está trabajando.
  2. Elimine la carpeta 【DerivedData】 de su proyecto. (Esta carpeta puede estar dentro de la carpeta de su proyecto, o dentro de
    ~/Library/Developer/Xcode/DerivedData/
    (su proyecto) /) o en otro lugar que haya configurado.
  3. reinicia tu proyecto.
Ali
fuente
4

Encontré una solución más fácil ya que este error se puede encontrar en XCODE 9.

El primer paso es ir a su controlador de vista y escribir manualmente la propiedad que desea conectar como en el siguiente ejemplo, asegúrese de usar el siguiente formato.

@IBOutlet débil var preguntasStackView: UIStackView!

Paso dos, vaya a su guión gráfico y conecte su vista o lo que sea que intente conectarse a la propiedad que creó en el paso 1.

Lo anterior le ahorrará tiempo de eliminar y limpiar los datos derivados.

Vision Mkhabela
fuente
3

Obtuve este error cuando cambié el nombre de la clase. Luego lo resolví simplemente siguiendo los pasos a continuación

  • En el menú Xcode -> Product->Clean
  • Restart el Xcode
Vinoth Vino
fuente
Esta fue la única solución que me funcionó lo suficientemente divertida.
Joseph Astrahan
2

En mi caso, esto fue debido a que elegí un nuevo archivo UIViewController en IB y luego traté de arrastrar a este nuevo controlador sin eliminar primero las conexiones anteriores en el Inspector de conexiones. Quítelos primero e intente nuevamente.

Marius Waldal
fuente
2

Para mí funcionó cuando en la pestaña derecha> Localización, marqué la casilla de verificación Inglés. Inicialmente, solo se comprobó la base. Después de eso no tuve más problemas. ¡Espero que esto ayude!

lmicu
fuente
2

ingrese la descripción de la imagen aquí

Seleccioné la opción Automática para seleccionar el archivo ViewController.swift. Y luego puedo tomar salidas.

Arpit B Parekh
fuente
2

Realice los dos pasos siguientes solo para deshacerse de este error.

1.  Clean Project using Product -> clean.
2.  Run the Project.

Ahora intente agregar / conectar las acciones o salidas.

Trabajando bien para mí muchas veces.

Devendra Singh
fuente
1

Sucedió cuando agregué un Swiftarchivo a un Objective-Cproyecto.
Entonces, en esta situación, lo que puedes hacer es. .

  • Select MY_FILE.Swift >> Delete >> Remove Reference
  • Select MY_FOLDER >> Add MY_FILE.Swift
  • Voila ! You are good to go .
Roy
fuente
¡Por esto! He estado tratando de resolver este problema por mi cuenta durante media hora ya lol. Sin embargo, problemas como este en Storyboards son fáciles de solucionar. ¡Gracias! ¡Esto me ayudó mucho!
Glenn
0

La solución más simple: - Usé xCode 7 e iOS 9.

en tu .m

eliminar #import "VC.h"

guarde .my vincule su salida nuevamente, funciona bien

Ahmed Abdallah
fuente
0

Usé xCode 7 y iOS 9.

en tu .m

Eliminar #import "VC.h"

guarde .my vincule su salida nuevamente, funciona bien

en tu .m

añadir #import "VC.h"

guardar .m

Ahmed Abdallah
fuente
0

Nada de esto funcionó para mí, pero lo resolví.

Dentro del guión gráfico , copié el ViewController correspondiente en el portapapeles y lo eliminé, luego lo volví a pegar.

De repente, todo estaba funcionando como un encanto de nuevo!

Markus
fuente