2011-05-07 10 views
6

Ayúdame a descomprimir el interfaz-builder en XCode4.Cómo solucionar un proyecto que Interface-Builder fubar'd

Creé un botón en interface-builder y definí un método IBAction para él en el código de la vista. Funcionó bien. Luego cambié el nombre del método de acción del botón usando la herramienta refactor/rename de XCode. Funcionó bien.

Luego borré el botón en el interfaz-builder seleccionando el botón y presionando la tecla borrar. Cuando reconstruí el proyecto, el botón todavía está allí en el simulador. De vuelta en Interface-Builder, el botón se ha ido. No hay referencia al botón en el código, pero el método IBAction del botón todavía está allí.

Para empeorar las cosas, se llama al método de acción original del botón que, por supuesto, arroja una excepción de tiempo de ejecución del selector no encontrado. Cuando realizo una búsqueda de proyecto para el nombre del método de acción original, no se encuentra nada, pero el tiempo de ejecución aún intenta llamarlo. Hice una "limpieza" y reconstruí pero no alegría.

Si trato de abrir el archivo .xib como lista de propiedades ASCII, me dice que los datos se han dañado. (Me di cuenta de eso.)

Además de eliminar el archivo .xib y crear una nueva vista, ¿hay alguna forma de arreglar esto?

¿Y qué hace "limpiar" si no elimina los binarios?

Gracias por su ayuda!

+0

Si abre .xib en un editor de texto, ¿ve algo extraño? –

+0

@Jon Reid: el .xib en un editor de texto se ve bien. Parecía que los objetos en la representación xml de xib eran los mismos que los objetos en la representación gráfica en Interface Builder. De alguna manera, XCode se está aferrando a una referencia obsoleta en alguna parte. – LandedGently

+0

Después de intentar reproducir esto, creo que fue causado por mi cambio de nombre del archivo .xib (que no mencioné cuando publiqué la pregunta original, lo siento). Utilicé la herramienta "Refactor" de XCode para cambiar el nombre de algunos de mis objetos, pero no veo cómo cambiar el nombre de un archivo xib utilizando Refactor, por lo que acabo de renombrarlo en Project Navigator. Probablemente no es una buena idea. – LandedGently

Respuesta

0

Trate de ir en Xcode para construir> Limpio Todos los objetivos, debe fijarlo

+0

sí, intenté Limpiar sin ningún efecto. (Por cierto, en XCode 4, no hay menú de compilación. Limpiar está en el menú Producto, y no hay Limpiar todo. Supongo que está predeterminado en Limpiar todo). – LandedGently

1

Try simulador de iOS -> Restablecer contenidos y ajustes. (Para ahorrar tiempo, Xcode intenta copiar recursos antes del lanzamiento solo si esos recursos han cambiado, pero si las cosas se han vuelto complicadas ...)

+0

buen consejo. No creo que eso haya causado mi fubar. Después de tratar de reproducir el problema, creo que fue causado por el cambio de nombre de uno de mis archivos .xib. – LandedGently

+0

Esto es bastante viejo, pero parece que todavía sucede. Acabo de tener un XIB que no cambió nada de lo que hice (agregar botones, establecer objetivos, textos ...). Eliminar la aplicación del simulador ayudó. – Swissdude

1

Clean no funcionó para mí. En mi experiencia, Xcode mantiene un caché del ".xib compilado" sin tener en cuenta las marcas de tiempo (intente cambiar un xib por uno con el mismo nombre). Mi solución fue modificar cada vista que necesitaba actualizarse. Muy frustrante, pero funciona.

Cuestiones relacionadas