Sigo recibiendo el siguiente error:
Storyboard (<UIStoryboard: 0x7ebdd20>) doesn't contain a view controller with identifier 'drivingDetails'
Este es el código:
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"drivingDetails"];
controller.title = [[dao libraryItemAtIndex:indexPath.row] valueForKey:@"name"];
[self.navigationController pushViewController:controller animated:YES];
}
Ya lo configuré identifier
en UIStoryboard
pero todavía recibo este error.
ios
objective-c
xcode
storyboard
Estera
fuente
fuente
Respuestas:
Solo para referencia futura:
Estoy desarrollando en iOS 6 usando Storyboards.
Estaba teniendo el mismo problema, pero no pude encontrar el campo "Identificador" en el inspector. En su lugar, solo configure el campo llamado "Storyboard ID" a lo que llamaría el Identificador. Este campo se puede encontrar en la pestaña "Mostrar el inspector de identidad" en el inspector.
[Nota: los comentarios a continuación indican que algunas personas han descubierto que necesitan (¿también?) Establecer el campo "ID de restauración" justo debajo de la ID del guión gráfico en el inspector. Hacer clic en "Usar ID del guión gráfico" no parece ser suficiente.]
Hay una imagen a continuación para referencia: (en este caso, he nombrado mi identificador igual que mi clase)
fuente
En Xcode 7-11 ,
cuando cambia las ID del guión gráfico y obtiene errores como este,
solo LIMPIA tu proyecto ( CMD+ SHIFT+ K)
fuente
¡Fijo! No solo se debe establecer el identificador en el segmento, en mi caso DrivingDetails, sino que también se debe establecer el identificador en mi tableViewController como DrivingDetails ... verifique mi imagen:
También eliminé el controlador de vista de navegación, por lo que ahora los 2 controladores de vista de tabla están conectados directamente con una animación "push".
***** EDITAR para XCODE 7.0 *****
debe configurar el storyboardId (en este caso, viewController está incrustado en un controlador de navegación:
fuente
[storyboard instantiateViewControllerWithIdentifier]
NO está creando instancias de las vistas de Interface Builder dentro del controlador de vista; pero en iOS6 lo hizoNota:
"StoryboardFileName"
es el nombre de archivo del Storyboard y no la ID del storyboard."StoryboardID"
es la ID que ha configurado manualmente en el inspector de identidad para ese guión gráfico (vea la captura de pantalla a continuación).A veces la gente cree que el primero es el ID del guión gráfico y el segundo el nombre de la clase Controlador de vista, así que tenga en cuenta la diferencia.
fuente
.instantiateViewController(withIdentifier: "StoryboardID")
debería renombrarse a.instantiateStoryboard(withIdentifier: "StoryboardID")
O simplemente algo más simpleUIStoryboard(name: "StoryboardFileName", bundle: nil).init()
Identidad ubicada en la pestaña Inspector de identidad denominada ID del guión gráfico para Xcode 6.3.2 y marcada la opción Usar ID del guión gráfico.
fuente
Acabo de tener este problema después de agregar un nuevo VC al guión gráfico, pero solo en el dispositivo, no en el simulador. Resulta que se debió a tener múltiples localizaciones de guiones gráficos: el VC solo se agregó a la primaria. Intenté eliminar las otras localizaciones (una de las cuales es la que usa mi iPhone) pero aún tuve el error. Al final tuve que recrear las otras localizaciones con el nuevo VC en cada una de ellas.
fuente
El compilador muestra el siguiente error:
Aquí el objeto del guión gráfico creado no es el guión gráfico principal que contiene nuestros ViewControllers. Como el archivo del guión gráfico en el que trabajamos se denomina Main.storyboard . Entonces necesitamos tener referencia de objeto del Main.storyboard .
Use el siguiente código para eso:
Aquí
storyboardWithName
está el nombre del archivo del guión gráfico con el que estamos trabajando ybundle
especifica el paquete en el que se encuentra nuestro guión gráfico (es decirmainBundle
).fuente
Para aquellos con el mismo problema que @Ravi Bhanushali, aquí hay una solución Swift 4:
let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
fuente
Lo encontré ... haga clic en el controlador de vista en el guión gráfico, haga clic en el tercer icono de la izquierda en los inspectores de atributos vc, en el que establece el nombre de la llamada en ese cuadro que dice 'identidad': el mío estaba oculto, tuve que haga clic en la palabra identidad, luego muestra storyboardID: agregue el identificador del código, listo
fuente
La modificación de "Storyboard ID" en el inspector de identidad (el tercer icono a la izquierda) debería funcionar.
Si no es así y está seguro de que no hay errores tipográficos, intente limpiar el proyecto ("Producto" -> "Limpiar", o simplemente comando + shift + K).
fuente
Mientras ingresa el identificador que no ha seleccionado el controlador de vista apropiado, solo verifique una vez si ha terminado, repita el procedimiento una vez más.
fuente
A algunos de mis controladores de vista les faltaba el atributo storyboardIdentifier .
Antes de:
Después:
fuente
Obtuve el mismo error y pude solucionarlo cambiando los siguientes cambios en mi proyecto. He mencionado el nombre de mi clase en el panel del inspector y luego el problema está resuelto. Goto-> panel derecho allí Inspector de identidad En la sección de clase personalizada
clase: su nombre de clase (ViewController)
En la sección Identidad ID del guión gráfico: su ID del guión gráfico (ver Nombre del controlador)
Después de esto, haga clic en la opción Usar ID de guión gráfico allí. Eso es todo, el problema ha terminado. Espero que te ayude....
fuente
Use su identificador (@ "drivingDetails") como ID del guión gráfico.
fuente
es muy simple seleccionar el controlador de vista respectivo en el storyboard principal y verificar el storyboardID si está presente, usarlo en el identificador de dar un nombre y usarlo.
aquí mi primero es el storyboardID let vc = self.storyboard? .instantiateViewController (withIdentifier: "firstone") como! tabBarViewController
fuente
Probé todas las soluciones anteriores y ninguna funcionó.
Lo que hice fue:
Y luego funcionó. Lo sorprendente fue que ingresé la ID de Storyboar en el generador de interfaces y la eliminé / eliminé después de abrir Xcode nuevamente.
Espero que esto ayude a alguien.
fuente
Limpiar todo y cerrar Xcode no me resolvió el problema.
Tuve que eliminar viewController y crear uno nuevo con un nuevo identificador.
fuente
Nota: Si usa cocoapods en su proyecto, primero ejecute
pod deintegrate
yrm Podfile.lock
Luego abra la carpeta de su proyecto en cualquier editor de código de terceros como VSCode y realice una búsqueda global del nombre de ViewController que arroja el error.
Todo debería funcionar bien ahora.
Esto se debe con mayor frecuencia al cambiar el nombre de los archivos desde Xcode.
fuente
XCODE DRAG N DROP PANE SE HA IDO !!!
fuente