2012-06-12 21 views
5

¿Existe algún método para verificar si un NSString no tiene caracteres? ejemplo de cadena sin caracteres puede ser:IOS: verifique si una cadena es una cadena vacía

@ "" o @ "" o @ "\ n" o @ "\ n \ n", quiero que estas cadenas sigan como cadenas vacías e imprima un nslog que me diga que estos son dulces, ¿qué tipo de control debería usar?

Respuesta

7

Puede utilizar esta prueba:

if ([[myString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] length] == 0) { 
    // The string is empty 
} 
+0

+1 no era consciente de esta funcionalidad; tu respuesta es mejor que la mía :) – WendiKidd

+0

@WendiKidd ¡Gracias! Como un offtopic rápido, no tengo idea de quién rechazó tu respuesta, pero creo que sé por qué: estás utilizando las constantes de cadena '@" '' y '@" \ n "' en lugar de las constantes de los caracteres '' '' y '' \ n''; arreglar esto debería transformar su solución en una completamente funcional. – dasblinkenlight

+0

¡Ah! ¡Tonto, no me di cuenta! Gracias por señalar eso. Lo arreglé, gracias :) – WendiKidd

0

Puede recorrer cada carácter de la cadena y verificar si es el carácter de espacio ("") o nueva línea ("\ n"). Si no, devuelve falso. De lo contrario, si busca a través de la cadena completa y no devuelve falso, está "vacío".

Algo como esto:

NSString* myStr = @"A STRING"; 
for(int i = 0; i < [myStr length]; i++) 
{ 
    if(!(([myStr characterAtIndex:i] == @' ') || ([myStr characterAtIndex:i] == @'\n'))) 
    { 
     return false; 
    } 
} 
Cuestiones relacionadas