2012-05-21 20 views
10

esta pregunta puede parecer un poco rara, pero no puedo entender por qué sucede esto.XCode clase personalizada segue atascada

Lo que hice fue renombrar una clase segue personalizada, y la reflejé en el guión gráfico en 'clase personalizada', pero todavía intenta llamar a la anterior.

He limpiado la carpeta de compilación y he buscado el nombre antiguo de la clase personalizada en el proyecto y, al menos, no encuentra nada en xcode. Miro dentro del archivo del guión gráfico, tampoco está allí.

Incluso si elimino el segue aduana toda Juntos consigo:

'Could not find a segue class named 'xxxxxxxxx'' 

Lo que pasa es que no puedo entender desde donde se pone 'xxxxxxxxx' anteriormente, no está en el archivo de guión gráfico o en el código.

[[[self view] viewWithTag:1] resignFirstResponder]; 

Cuando depuro esto es donde va a thread kill mostrando el error. He eliminado todos los puntos de venta, eventos y segues en el campo de texto. No tengo una transición personalizada usando 'xxxxxxxxx' como clase en cualquier lugar.

¿Hay alguna otra cosa que pueda hacer para limpiar el proyecto más a fondo? ¿Dónde empezar?

+1

¿Ha intentado eliminar la aplicación en el dispositivo/reiniciar el simulador? ¿Has comprobado si la clase segue está definida correctamente en la propiedad del guión gráfico? – nhahtdh

+0

No soy experto en Mac en general, pero traté de buscar en todo el disco duro cualquier archivo que contenga el nombre de clase, y no encuentra nada. – Ostmeistro

+0

Oye, gracias. Restablezco la configuración y el contenido del simulador, configuré la configuración regional, pero cuando la ejecuto obtengo el guión gráfico incorrecto (el inglés es el más difícil, incluso si configuré el simulador en sueco) el guión gráfico en inglés no está terminado y ahora no puedo haz que ejecute el que obtuve en la carpeta sv.lproj. ¿Es esto una pista? @nhahtdh – Ostmeistro

Respuesta

5

La respuesta es restablecer la membresía del objetivo del guión gráfico, luego restablecer el simulador.

+0

¡Dios, me tomó dos horas de lucha por este pequeño clic! Muchas gracias, ¡salvaste mi día! –

+0

Tengo el mismo problema, y ​​para mí el simulador de reinicio no ayuda –

+0

@ János: La solución difiere de un caso a otro. ¿Has probado la sugerencia en la otra respuesta? – nhahtdh

6

Para otros que provienen de la web en busca de la respuesta: compruebe si ha incluido el archivo de implementación en Crear fases. En mi caso, tenía varios objetivos y al segundo objetivo le faltaba este archivo de implementación.

71

Esto fue lo que funcionó para mí: tuve que seleccionar el segue en el constructor de interfaz y establecer el módulo de "Ninguno" al nombre de mi proyecto, que apareció en el menú desplegable.

+2

Me ayudó también, pero ¿cómo evitar esto? –

+0

tiene sentido, sin embargo, el menú desplegable del módulo está atenuado. Si adjunto una clase personalizada, está habilitada pero no se soluciona. – mobibob

+0

@MihaelIsaev Archivar un radar –

3

Echa un vistazo a esta otra pregunta. Respuesta a "Edición # 1" al declarar la-Seque-clase personalizada para ser y objetiva de clase-c

Similiar SO Q&A - speaks to a flaw in XCode

Resumen de la respuesta:

@objc(CustomSequeLeft2Right) 
class CustomSequeLeft2Right { 
. 
. 
. 
} 
0

Mi problema era que establece explícitamente la "Clase" nombre en el constructor de interfaz; que no fue requerido Es administrado por Xcode y por defecto a UIStoryboardSegue.