Bueno, hay algunos problemas aquí.
El primero (y no el que ha preguntado) es que está asignando un nuevo NSMutableString y luego simplemente tirándolo en la segunda línea cuando lo establece en someTextFieldIbOutlet.text. Además, está convirtiendo una cadena no mutable en una cadena mutable que no funcionará realmente. En su lugar, se combinan las dos primeras líneas de la siguiente manera:
NSMutableString* mStr = [NSMutableString stringWithString:someTextFieldIbOutlet.text];
El error real que vas a encontrar es causada porque el primer argumento de NSLog se supone que es la cadena "formato", que narra NSLog cómo desea dar formato a la datos que siguen en argumentos posteriores. Esto debería ser una cadena literal (creada como @"this is a literal string"
) para que no se pueda usar para explotar su programa al hacerle cambios.
su lugar, utilice la siguiente:
NSLog(@"%@", mStr);
En este caso, la cadena de formato es @"%@"
que significa "Crear un objeto NSString
establecido en %@
". %@
significa que el siguiente argumento es un objeto, y para reemplazar %@
con la descripción del objeto (que en este caso es el valor de la cadena).
Los errores de formato surgen porque las convenciones de paso de argumentos de C no son seguras para el tipo. –