2012-06-12 17 views
5

esiste un metodo per verificare se una stringa NSS non ha caratteri? esempio di stringa senza caratteri può essere:IOS: verifica se una stringa è una stringa vuota

@ "" o @ "" o @ "\ n" o @ "\ n \ n", voglio cosiderare queste stringhe come stringhe vuote e stampare un nslog che mi dice che questi sono emty, che tipo di controllo dovrei usare?

risposta

7

È possibile utilizzare questo test:

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

+1 ero a conoscenza di questa funzionalità; la tua risposta è migliore della mia :) – WendiKidd

+0

@WendiKidd Grazie! Come rapido fuori programma, non ho idea di chi abbia trasmesso la tua risposta, ma penso di sapere perché: stai usando costanti di stringa '@" "' e '@" \ n "' invece di costanti di carattere '''' e '' \ n''; risolvendo questo dovrebbe trasformare la tua soluzione in una completamente funzionante. – dasblinkenlight

+0

Ah! Sciocco me, non me ne sono accorto! Grazie per la segnalazione. L'ho risolto, grazie :) – WendiKidd

0

È possibile scorrere tutti i caratteri nella stringa e controllare se si tratta del carattere spazio ("") o newline ("\ n"). In caso contrario, restituire false. Altrimenti se si cerca attraverso l'intera stringa e non si restituisce false, è "vuoto".

Qualcosa di simile a questo:

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