Tener problemas para cargar vista personalizada desde xib en otro xib

Disculpas porque veo que la gente ha hecho preguntas como esta antes. Sin embargo, no he tenido mucha suerte siguiendo las instrucciones. Estoy interesado en crear una vista personalizada con un file xib y reutilizarla en el file xib de otra vista.

Publicaciones existentes:

Usando el object xib dentro de otro xib

¿Cómo utilizar juntas una subclass xib y UIView?

Ya tengo:

  • Se creó un file xib personalizado (llamémosle CustomView.xib) y los files de class .h y .m correspondientes
  • Establezca el propietario del file del file xib en CustomView
  • Se creó una UIView de nivel superior con otras vistas como niños (UILabel, etc.)
    • NOTA: esto tiene una UIView hijo, que es una vista personalizada escrita en código también
  • Conectado a los IBOutlets
  • Creado un file ViewController.xib
  • Se agregó una UIView, se estableció la class en CustomView y también se conectó

Esto da como resultado una vista en blanco que aparece cuando compongo la aplicación.

Luego probé lo que dijo una de las publicaciones anteriores que era anular el método initWithDecoder de CustomView y agregar lo siguiente:

NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:self options:nil]; UIView *mainView = [subviewArray objectAtIndex:0]; [self addSubview:mainView]; 

Esto, lamentablemente, resultó en el siguiente error:

 Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIView 0x548ff00> setValue:forUndefinedKey:]: 

Pensé que esto podría deberse a que no establecí la vista de nivel superior en CustomView.xib para que fuera de class CustomView. Entonces lo cambié a CustomView, y luego las cosas entraron en una recursión infinita. Lo que tiene sentido, ya que simplemente se recarga una y otra vez.

No estoy seguro de lo que me perdí de esas publicaciones anteriores, pero agradecería cualquier orientación. ¡Gracias!

 Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIView 0x548ff00> setValue:forUndefinedKey:]: 

El motivo del error anterior normalmente se debe a la falla de las conexiones en el Interface Builder , es decir, el object UIViewController con los objects correspondientes en la class de implementación. Verifique su connection en el Interface Builder . Verifique también el propietario del file en el file xib .

Espero que esto solucione tu problema.