¿Cómo resuelvo un 'NSUnknownKeyException' … setValue: forUndefinedKey:]: … no cumple con la encoding del valor key

Bien, trataré de hacer esto breve como sea posible. Quería un UIToolbar encima de mi keyboard, y me tomó un time resolverlo, y finalmente lo hice, pero cuando traté de agregar la function a los botones anterior * siguiente * y hice mi progtwig, pronto no comstackré.

Aquí se puede ver el post de error completo:

2012-06-20 05: 36: 55.276 KegCop [79460: fb03] * Aplicación de finalización debido a la exception no detectada 'NSUnknownKeyException', razón: '[setValue: forUndefinedKey:]: esta class no cumple con la encoding de valor key para la key realizada . '

* En primer tiro stack de llamadas: (0x134a022 0x1733cd6 0x1349ee1 0xd31022 0xca2f6b 0xca2edb 0xcbdd50 0x5a571a 0x134bdea 0x12b57f1 0x5a426e 0x7adeef 0x7ae03e 0x382d7a 0x382ff8 0x38217f 0x391183 0x391c38 0x385634 0x1f84ef5 0x131e195 0x1282ff2 0x12818da 0x1280d84 0x1280c9b 0x381c65 0x383626 0x2a8d 0x29f5 0x1) terminar la llamada lanzar una exception (LLDB)

@Abizern sugirió que debería leer la guía de encoding de valor de Apple Doc on Key . De todos modos es súper tarde, o súper temprano, sin embargo, lo ves. El proyecto actualizado se puede encontrar aquí: https://github.com/ipatch/KegCop

Solo descarga el zip, testing y construye y verás de lo que estoy hablando. El error probablemente se encuentra en algún lugar del file ViewControllerWelcome.m .

Busque en el guión gráfico o xib (lo que esté utilizando) para el object ViewControllerWelcome . La fuente más probable de este error es que algo tiene una connection con una acción o salida llamada done que no existe en el código de esa class.

La forma más sencilla de verificar esto es Ctrl + Haga clic en su Controlador en la Vista de Storyboard y busque algo en la window emergente resultante que tiene una marca de advertencia amarilla al lado. Simplemente elimínelo presionando el (x) al lado del nombre de Outlet.

Si está utilizando un guión gráfico, simplemente click cada ViewController y select el inspector de conexiones de ellos. Verifique si sale cualquier signo exclamatorio (para conexiones perdidas).

Eliminarlos correctamente. Luego ejecute su proyecto nuevamente.

He encontrado el mismo problema, utilicé un xib para el controller de vista pero luego lo eliminé. Sin embargo, en el código, la connection aún obtiene conexiones desde el xib eliminado. Entonces, la forma de caminar es crear una nueva xib para el control de la vista. Entonces problema resuelto.

En mi caso, se trataba de un caching extraño en xcode, incluso con todas las references eliminadas a los IBOutlets todavía se bloqueaba. IBOutlets estaba apuntando a una versión anterior de mi file, por lo que ni siquiera quitar y agregar files de nuevo o eliminar todos los puntos de reference de mi nib trabajó …

SOLUTION: cerrar xcode hizo el truco, también limpiar / limpiar el proyecto podría haber ayudado.

Para mi situación, agregué -all_load en "Other Linker Flags" para evitar que Xcode -all_load código binary de mi biblioteca.