Volver de un controlador a uno anterior

Estoy tratando de volver de mi UIViewController a mi UITableViewController, pero aparentemente no funciona de la manera que yo quiero. Creé mi interfaz con guiones gráficos desde el principio, por lo que no estoy realmente interesado en pasar de una Vista a otra por código. Hasta ahora, solo empujé mis Vistas por sergos que son fáciles de implementar con guiones gráficos. Pero cuando intenté volver a mis Vistas anteriores, se implementará un nuevo ViewController, por lo que todos los datos que almacené en el anterior se "pierden".

En realidad no hay ningún código que pueda presentarle (debido a los sergos) pero la situación es:

-> Tengo un MutableArray que almacena cosas en mi UITableView.

-> El usuario toca el botón de escaneo, escanea un nuevo elemento que debe importarse en mi matriz.

-> Al intentar volver a mi TableView, hay un nuevo controlador que me está ignorando, sin saber los datos que almacené en el anterior.

Entonces, ¿cómo puedo simplemente volver a mi antiguo controlador evitando crear uno nuevo todo el tiempo?

¿Un empuje de la serpiente siempre crea un nuevo controlador?

(La pregunta puede ser simple, pero soy nuevo en esto. Intenté algunos resultados presentados por la función de búsqueda, pero ninguno funcionó :()

/ edit: se ha resuelto el problema de Popback, pero el problema de relleno de matriz todavía existe. Código

GeneralSettings *sharedGS = [GeneralSettings sharedInstance];
sharedGS.strEAN = [[NSString alloc] initWithString:strCheckString];
[sharedGS.listArray insertObject:strCheckString atIndex:0];
NSLog(@"Anzahl der EAN-Codes: %d\nErster Code: %@\n In Variable: %@", sharedGS.listArray.count, [sharedGS.listArray objectAtIndex:0],sharedGS.strEAN);

Data en sharedGS.strEAN ("83274572354" es decir) Datos en listArray (nulo)

Respuestas a la pregunta(4)

Su respuesta a la pregunta