ios objective-c xcode xcode6 uistoryboard

ios - Xcode 6: no se puede conectar ningún IBOutlet a ViewController



objective-c xcode6 (16)

Aquí está la solución adecuada que creo.

Si cambió el nombre del controlador en el código, debe actualizar el archivo .xib.

No pude encontrar una manera de hacerlo en el generador de interfaces, así que haz esto:

  1. Abra el archivo .xib con un editor de texto: haga clic con el botón derecho en el archivo> abrir como> código fuente

  2. En el nodo <objects> busque el nodo <placeholder> con la propiedad placeholderIdentifier="IBFilesOwner" y reemplace el valor en customClass="MyOldControllerName" con su nuevo nombre de controlador: customClass="MyNewControllerName"

Y todos tus IBOutlets funcionarán normalmente.

Después de actualizar a Xcode 6, abrí un proyecto antiguo (que contiene un subproyecto, por lo que tiene muchos objetivos) y noté que no funciona ningún enlace desde mi Storyboard ViewContoller a los Objetos relativos.

Por ejemplo, tengo un ViewController con un TableView dentro y ahora no puedo hacer nada con él porque falta la conexión, ni siquiera puedo redefinir un nuevo IBOutlet en el VC porque la flecha en el guión gráfico del VC ganó. No te conectes a nada.

Para ser más claros:

La clase se define en la sección Clase personalizada, por lo que no puedo encontrar el problema

¿Qué tengo que hacer? Por cierto, estoy usando obj-c no rápido, encontré alguna respuesta relacionada, pero todo acerca de rápido.


Bien, vamos a comprobar si es la falta de un nombre de módulo.

  1. En su storyboard ViewController, escriba el nombre del módulo. (el nombre del proyecto)

2.Haga clic fuera en otro campo. Cuando regrese al campo del módulo puede decir que no, pero ahora habrá una entrada del menú desplegable para el nombre de su proyecto.

  1. Seleccione el nombre de su proyecto y vea si todo es bueno.

Si todavía hay problemas voy a publicar fotos.


En Xcode 6.3 necesitaba cerrar Xcode y reiniciar la Mac. Reiniciar Xcode solo no lo hizo por mí.

He tenido 6.3 durante mucho tiempo y mi problema fue con los nuevos proyectos que estaba creando para probar algunas cosas. Definitivamente no es un problema de actualización esta vez.


En la jerarquía del guión gráfico, seleccione Ver controlador,

En el panel derecho, Clase personalizada, sección Class , seleccione el menú desplegable y el controlador de vista que desee.


Estaba teniendo este mismo problema, sin una salida de vista disponible para vincular. La única forma de solucionarlo fue cambiar la clase de propietario del archivo XIB a "UIViewController", crear el enlace y luego volver a cambiarlo a mi clase de controlador de vista personalizado. El enlace se quedó y todo estuvo bien.


Estaba teniendo este mismo problema.

Resulta que cambié el nombre de mi clase de controlador de vista y el nombre de archivo. En el guión gráfico, tenía el valor antiguo en el panel derecho, Clase personalizada -> Clase. Así que los IBOutlets no se alinearon porque no había ninguno en la clase faltante, que es donde esperaba encontrar los puntos de venta definidos.

Rellenar el nombre de clase correcto del Controlador de vista en el campo Clase personalizada en el panel derecho solucionó mi problema.

XCode debe ser más detallado si tiene un nombre de clase incorrecto en los campos de Clase personalizada.


Gracias a todos los que comentaron.

Es un error de Xcode 6 / 6.0.1. Descargué e instalé la versión 6.1 y el problema desapareció.


He experimentado un comportamiento similar en Xcode 6.1.1 al intentar agregar la primera salida a una nueva vista.

Intenté eliminar las referencias y volver a agregar los archivos como se sugirió anteriormente sin éxito.

Lo que encontré funcionó fue escribir a mano la primera propiedad en la nueva vista. Acabo de entrar:

@property NSString *temp;

Entonces podría adjuntar mis puntos de venta de la manera normal. Simplemente elimine la propiedad temporal una vez que haya agregado su primera salida.

Espero que esto ayude.


Parece escribir primero la salida (rápida):

@IBOutlet weak var someViewOutlet: UIView!

y luego, arrastrando desde el punto de acceso de IB al tipo de extremo derecho en el código anterior funciona.

El reinicio de Xcode resuelve el problema (a veces). Utilizando Xcode 6.1


Parece ser un problema de espacio de trabajo. Intente eliminar el proyecto de un área de trabajo y agregarlo nuevamente. Me ayudó en mi caso.


Tal vez intente eliminar la salida del menú en el guión gráfico (en su captura de pantalla) y arrastre nuevamente el elemento.


Tal vez pueda ayudar. En mi caso, el problema fue que el archivo viewController.swift no estaba conectado al StoryBoard. La solución es hacer clic en el borde superior de la vista en el guión gráfico al lado de los 3 iconos (Ver Controlador, Primer Respondedor y Salir) ... ahora mire en el Área de Utilidad, elija el Inspector de Identidad, y en "Clase personalizada" elija la opción Controlador de vista personalizado.

Espero que esto ayude. Xcode es difícil !!


Tengo Xcode 6.3 y vi un problema similar. Finalmente algunas ediciones en el archivo .h resolvieron mi problema. Si su interfaz tiene IBOutlet definido como

@interface NavigationViewController :UIViewController { IBOutlet UILabel *lblName; }

cambie esto y en el archivo .m agregue @synthesize lblName;

@interface NavigationViewController :UIViewController { __weak UILabel *lblName; } @property (nonatomic, weak) IBOutlet UILabel *lblName;


Tuve esto, afecté a todos los proyectos en mi máquina, rápidos y objetivos y me volví loco por años. Finalmente también noté que tampoco podía usar el refractor para cambiar el nombre de las clases.

La solución para mí fue:

  1. Cerrar xcode
  2. Elimine ~ / Library / Developer / Xcode / DerivedData (¡solo hacer esto por sí solo no funcionó!)
  3. Elimine todos los datos de usuario de todos mis proyectos utilizando lo siguiente del directorio que contiene todos mis proyectos, por ejemplo, / src (¡tenga cuidado con este comando!):

encontrar . -name ''xcuserdata'' -exec rm -rf {} /;

Si desea hacerlo a mano, haga lo siguiente para todos sus proyectos Eliminar .xcodeproj / project.xcworkspace / xcuserdata Eliminar .xcodeproj / xcuserdata / .xcuserdatad

  1. Obtener Spotlight para volver a indexar la unidad en la que se encontraban todos mis proyectos (no estoy seguro de si fue necesario)
  2. Reiniciar la máquina

¡Todo volvió a la vida!


ninguna solución solucionó mi mismo problema ... pero lo he resuelto mediante:

  • cerrar xcode
  • renombrando la carpeta del proyecto
  • código abierto

y luego los puntos de venta volverán de nuevo

Espero que esta solución sea la adecuada para las personas que tienen el mismo problema.


También puede ver que el enlace entre la vista principal y la clase personalizada está roto (ya no es visible), lo cual es un gran problema.

Tuve el mismo problema con la aplicación en la que estoy trabajando, actualizando XCode de 5.xxx a 6.1. La solución que funcionó para mí fue eliminar la referencia de cada controlador de vista y volver a agregarlos al proyecto ...

Para todos los que enfrentan ese problema, aquí está el truco (molesto):

  • Paso 1 : seleccione ambos archivos de controlador de vista .h y .m
  • Paso 2 : eliminar la referencia de esos archivos
  • Paso 3 : vuelve a agregar los archivos a tu árbol de proyectos
  • Paso 4 : abre el guión gráfico, eventualmente reconstruye el proyecto y sonríe

Puedo entender que esas cosas pueden ser realmente molestas, pero funcionaron para mí ... ¡Espero que ayude a alguien más!