2012-06-12 17 views
5

Bir NSString karakterlerin olmadığını doğrulamak için bir yöntem var mı? karaktersiz dize örneği:IOS: bir dizenin boş bir dize olup olmadığını doğrulayın

@ "" veya @ "" veya @ "\ n" veya @ "\ n \ n", bu dizeleri boş dizeler olarak kullanmak istiyorum ve bana bir nslog yazdırmak istiyorum Bunlar emty, ne tür bir kontrol kullanmalıyım?

cevap

7

:

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

+1 Bu işlevsellik farkında değildi; Cevabınız benimkinden daha iyidir :) – WendiKidd

+0

@WendiKidd Thanks! Hızlı bir offtopic olarak, cevabınızı kimin kestiğini bilemiyorum, ama sanırım nedenini biliyorum: "@" "ve" @ "\ n" 'dize sabitlerini" "ve" "karakter sabitleri yerine kullanıyorsunuz. \ n''; Bunu düzeltmek, çözümünüzü tamamen çalışır duruma getirmelidir. – dasblinkenlight

+0

Ah! Aptal ben fark etmedim! Bunu işaret ettiğin için teşekkürler. Teslim ettim, teşekkürler :) – WendiKidd

0

Dizgedeki her karakterde yineleme yapabilir ve boşluk ("") veya yeni satır ("\ n") karakteri olup olmadığını kontrol edebilirsiniz. Değilse, yanlış döndürün. Eğer tüm dizgeyi araştırırsanız ve yanlış döndürmezseniz, "boş" olur. Böyle

şey: Bu testi kullanabilirsiniz

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