Plumín cargado, pero la salida 'vista' no estaba configurada

Agregué un nuevo file nib a mi proyecto e intenté cargarlo.

Sin embargo, cuando hago clic en el icono de la barra de herramientas que supuestamente me lleva a la vista que he creado, obtengo una NSInternalInconsistencyException con el post:

Terminando la aplicación debido a la exception no detectada 'NSInternalInconsistencyException', motivo: '- [UIViewController _loadViewFromNibNamed: bundle:] cargado el plumón "…" pero la salida de la vista no estaba configurada.'

Entonces abrí mi file nib, y veo para la vista que no hay salidas de reference establecidas. Sin embargo, bash hacer clic y arrastrar el círculo para "nueva salida de reference" al propietario de File, pero no me deja … ¿qué debo hacer para que mi vista se muestre?

Ustedes tienen razón, pero como soy un recién llegado me tomó un time descubrir todos los pasos para hacer eso. Esto es lo que funcionó para mí:

  • Abra el file XIB causando problemas
  • Haga clic en el ícono del propietario del file en la barra izquierda (la primera, parece un recuadro amarillo).
  • Si no ve la barra lateral derecha, click el tercer icono encima de "vista" en su barra de herramientas. Esto mostrará la barra lateral derecha
  • En la barra lateral derecha, click la tercera pestaña, la que parece un periódico
  • En "Clase personalizada" en la parte superior, asegúrese de que Clase es el nombre del ViewController que debería corresponder a esta vista. Si no es así, ingréselo

Configuración de clase personalizada

  • En la barra lateral derecha, click la última pestaña: la que parece un círculo con una flecha en ella
  • Debería ver "puntos de venta" con "vista" debajo. Arrastre el círculo al lado del icono de "vista" en la barra izquierda (la parte inferior, se ve como un cuadrado blanco con un grueso contorno gris

Configuración de clase personalizada

  • Guarde el xib y vuelva a ejecutar

Esta es la propuesta de Josh Justice, pero de manera gráfica (las imágenes son mías):

  1. Seleccionar propietario de file
  2. En el panel lateral derecho, select la class personalizada.
  3. Ingrese el nombre de la class personalizada

introduzca la descripción de la imagen aquí

  1. En el panel lateral derecho select oultets
  2. Arrastre la salida de la vista para ver el componente

introduzca la descripción de la imagen aquí

Finalmente, el controller de vista se instancia con el código de balanceo:

  PTFilterUserVC *aFilterUserVC = [[PTFilterUserVC alloc] initWithNibName:@"FilterVC" bundle:nil]; //OPTIONAL.This is how 'I' am interested in present the view controller. [self.navigationController pushViewController:aFilterUserVC animated:YES]; 

En general, puedo solucionarlo rehaciendo la connection entre el propietario del file y la vista. Controle y arrastre desde el propietario del file a su vista (en IB) y select la vista en el menu emergente.

La identidad de la vista: la identidad de la class no estaba establecida. Después de configurarlo en la class apropiada, el problema se resolvió.

¿Estás seguro de que tienes una UIView (o subclass) asignada a la propiedad "view" de yourViewController?

Haga clic derecho en "Propietario de file" en el panel izquierdo de la xib para su ViewController y verifique que la salida de "vista" esté configurada. De lo contrario, ¡configúrelo en una vista!

esto definitivamente solucionará el problema

Para mí, todas las cosas que se mencionan aquí https://stackoverflow.com/a/6395750/939501 eran ciertas, pero aún así era un error, razón por la cual creé una class View con el nombre ABCView y luego la eliminé más tarde. Agregué un controller de vista como ABCViewController así que de alguna manera se estaba refiriendo al viejo ABCView en el controller de nueva vista, tuve que eliminar el ABCViewController y agregar uno nuevo con un nombre diferente que resolvió mi problema.

Gracias

Tuve el mismo problema con XCode 4.6.3. Había comenzado con un par de files llamados MySettingsView.h y .m pero los MySettingsViewController.h favor de MySettingsViewController.h , pero a pesar de probar la mayoría de las pistas mencionadas aquí, todavía seguía produciendo errores,

2013-07-05 11: 48: 17.205 MyApp [39024: c07] *** Finalización de la aplicación debido a la exception no detectada 'NSInternalInconsistencyException', razón: '- [UIViewController _loadViewFromNibNamed: bundle:] cargado el plumín "MySettingsView" pero la salida de vista no se configuró '.

Evidentemente, seguía "confundido", tratando de cargar MySettingsView.xib en lugar de MySettingsView Controller .xib. Tal vez su lógica de "hacer lo que quiero decir" es demasiado elegante.

Así que trabajé alnetworkingedor del problema codificando el nombre NIB / XIB en MySettingsViewController.m:

 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:@"MySettingsViewController" bundle:nibBundleOrNil]; } 

Mi problema con esto fue causado por tener una punta duplicada en la carpeta de class que no tenía la vista configurada. xcode parecía elegir una punta para una compilation y luego la otra la próxima vez que construí el proyecto. Acaba de borrar el otro. Se ve bien. ¡Doh!

Acabo de pasar más de una hora tratando de averiguar por qué mi propiedad de vista no está establecida en mi controller de vista al iniciarlo desde la punta. Recuerde llamar a "[super initWithNibName …]" dentro de initWithNibName de su controller de vista.

Acabo de arreglar esto en el mío. Proyecto grande, dos files. Uno era "ReallyLargeNameView" y otro era "ReallyLargeNameViewController"

Basado en la segunda respuesta elegida arriba, decidí que debería limpiar mi compilation. Nada, pero aún sospechaba de XCode (ya que tengo dos classs idénticas, debería abstraerlas, pero eh …) Entonces uno está trabajando, uno no. Los nombres de los propietarios de los files son hasta donde se copyn y se pegan, los sockets se vuelven a conectar, se reinicia xCode y aún no hay nada.

Así que elimino la class con nombre similar (que es una vista). Pronto, el nuevo error "outlet inside not hooked up" literalmente fue "webView no es un valor key" bla … básicamente diciendo "Visual Studio es mejor". De todos modos … borro el file con nombre más pequeño, y bam, funciona.

XCode se confunde con files de nombre similar. Y el proyecto es lo suficientemente grande como para reiniciar un poco, que puede ser parte de él.

Ojalá tuviera una respuesta más técnica que "XCode está confundido", pero bueno, xCode se confunde mucho en este punto. Lo desconcerté de la misma manera que ayudaría a un niño pequeño. Funciona ahora, 🙂 Debería beneficiar a otros si lo anterior no soluciona nada.

Recuerde siempre limpiar sus comstackciones (eliminando también el simulador).

También tuve el mismo problema y mi problema fue que agregué otra localización (inglés) a la plumilla ViewControllers para que mi aplicación con la localización alemana no pudiera encontrar la punta con la localización en inglés !! Espero que esto ayude a nadie!

Me había enfrentado al mismo problema mientras eliminaba accidentalmente la reference xib y lo volvía a agregar. Simplemente solucioné haciendo la connection entre el propietario de los files y la vista. También asegúrese de que la class personalizada de FilesOwner sea su viewController esperado.

Para mí, el problema fue causado invocando initWithNibName:bundle: Estoy usando celdas de vista de tabla de un file de nib para definir los formularios de input que se sientan en tableViews . Como no tengo una vista, no tiene sentido engancharse a una. En cambio, si initWithStyle: método initWithStyle: lugar, y desde allí, cargué el file nib, entonces las cosas funcionan como se esperaba.

Tuve el mismo problema, pero se requería una solución ligeramente diferente. El problema en este caso era la class del propietario del file, en lugar de la class de la vista. Para establecer esto, tuve que hacer clic en el ícono de "reproducir hacia atrás" en la esquina inferior izquierda de la window de Interface Builder, y luego aparecieron las opciones que aislaban las características del propietario del file, el primer respondedor y la vista. Al hacer clic en el primero (un cuadro transparente grande), me permitió establecer su class personalizada como se sugirió anteriormente.

Tuve el mismo problema, pero se requería una solución diferente. El problema en este caso era que la class del propietario del file no estaba conectada al file xib.

Me encontré con algo muy similar esta noche, con una subclass Swift UIViewController. En este caso, ninguna de las correcciones anteriores funcionó, pero el reorderamiento de mi código hizo un poco. Net-net, que tiene una extensión para la subclass, ocurre antes de que la propia definición de la subclass en el mismo file confunda a XCode, a pesar de comstackr bien; la solución era colocar las extensiones después de la definición de la subclass.

He publicado los detalles en una respuesta a esta pregunta similar .

En mi caso, el inicializador designado - (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil en *** ViewController class se implementó, incluso si cuando llamo a otro inicializador para inicializar el object, el inicializador designado ser llamado .

Entonces, para resolver este problema, compruebe si el - (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil también es una forma adecuada.

Acabo de tener el mismo error en mi proyecto, pero diferente razón. En mi caso, tenía una configuration IBOutlet con el nombre "Ver" en mi class personalizada UITableViewController. Sabía que "vista" era especial porque ese es un miembro de la class base, pero no pensé que Ver (caso diferente) también sería un problema. Supongo que algunas áreas de Cocoa no distinguen mayúsculas de minúsculas, y probablemente cargar una xib es una de esas áreas. Entonces, simplemente cambié el nombre a DefaultView y todo está bien ahora.

select el propietario de los files y goto abrir el inspector de identidad, proporcione el nombre de class al que corresponde. Si ninguno de los methods anteriores funciona y aún así no puede ver la salida de la vista, a continuación, proporcione una nueva salida de reference Conexión con el propietario del file y podrá ver la salida de la vista. Haga clic en la vista Outlet para establecer una connection entre View Outlet y el propietario del file. Ejecute la aplicación, esto funciona bien.

Me gustaría secundar a Stephen J. Algunas veces, X Code simplemente se confunde. Acabo de tener una experiencia en la que había jugado mucho con la interfaz de usuario, y había agregado y eliminado puntos de venta varias veces. Los puntos de venta ya no se conectan. Nunca descubrí un motivo específico (había probado todas las soluciones anteriores), y simplemente tuve que eliminar el NIB y volver a crearlo desde cero, y de hecho tuve que usar un nombre diferente para el NIB antes de que funcionara. (XCode 4.6.1) Perdió un par de horas en eso.

En mi caso, la vista no se ve en xib. En xib, la vista era size = none (cuarta pestaña derecha). Configuré el tamaño en Freeform y recargo xCode. La vista fue apelada y establecí el enlace apropiado para Ver.

Si ha probado todo y aún obtiene este error, intente volver a crear el file de class desde cero, pero recuerde seleccionar la checkbox "Crear también file XIB". Esto vincula automáticamente algunos elementos que no están vinculados al crear estos files por separado. Una vez creado esto, es probable que corte y pegue todo en el nuevo XIB y debería funcionar bien.

Estoy encontrando este problema específicamente con la creación de files por separado en Swift.

para mi sucedió, cuando

  • Tengo una class ViewController (.mm / h) asociada con el file Nib,
  • UIView desde este ViewController tiene que cargarse en la otra vista como una subvista,

  • llamaremos algo como esto

     -(void)initCheckView{ CheckView *pCheckViewCtrl = [CheckView instance]; pCheckView = [pCheckViewCtrl view]; [[self view]addSubview:pCheckView]; [pCheckViewCtrl performCheck]; } 

Dónde

 +(CheckView *)instance{ static CheckView *pCheckView = nil; static dispatch_once_t checkToken; dispatch_once(&checkToken, ^{ pCheckView = [[CheckView alloc]initWithNibName:@"CheckView" bundle:nil]; if ( pCheckView){ [pCheckView initLocal]; **[pCheckView loadView];** } }); return pCheckView; } 

Aquí falta LoadView ,,, agregando esta línea resolvió mi problema.

Tuve el mismo problema, me di count y es debido a que había marcado " Celdas estáticas " en las properties de la Vista de tabla en la opción Contenido . Funcionó cuando cambió a " Dynamic Prototypes ". La captura de pantalla está debajo. introduzca la descripción de la imagen aquí