2009-07-07 18 views
23

Unichar ve char arasında biraz kafam karışık. Unichar'ın char's'una benzer davranabilir miyim?Objective-C: unichar vs. char

-(BOOL)isNewLine:(unichar)c { 

if(c == '\n') 
    return YES; 
else 
    return NO; 

} 

cevap

24

Evet, unichar içten unsigned short, yani anlamlı bir char ile karşılaştırabilirsiniz (ikincisi ASCII ise, ama bu '\n' için çalışıyor):

Örneğin, ben bunu yapabilirsiniz.

6

Satır sonlarınızın biçimini bildiğinize dikkat edin; Unix (ve modern Mac) kullanılıyor \ n, ancak Windows \ r \ n kullanıyor ve klasik Mac kullanıyor \ r. unichars karşılaştırılırken

+7

Teşekkürler. Ben karşılaştırmak olabilir NSNewlineCharacterSet üretmek için statik bir yöntemi olan bir sınıf, NSCharacterSet, buldum. – LeeMobile

0

kullanılarak yerine düşünün:

if ([[NSCharacterSet newlineCharacterSet] characterIsMember:unicharCharacter]) 
{ 
    //any type of newline 
} 
else 
{ 
    //etc 
} 

Sonra satırbaşıyla her türlü yakalamak ve kolayca (whitespaceAndNewlineCharacterSet gibi) farklı karakter setleri maç için değiştirebileceğiniz kodu bulunur.

Bu, unichars ile büyük bir başucudur.

İlgili konular