我在unichar和char之間有點混淆。我可以將unichar與char相似嗎?Objective-C:unichar與char
例如,我可以做到這一點:
-(BOOL)isNewLine:(unichar)c {
if(c == '\n')
return YES;
else
return NO;
}
我在unichar和char之間有點混淆。我可以將unichar與char相似嗎?Objective-C:unichar與char
例如,我可以做到這一點:
-(BOOL)isNewLine:(unichar)c {
if(c == '\n')
return YES;
else
return NO;
}
是的,單字符是內部unsigned short
,這樣你就可以將其與char
比較出有意義的(如果後者是ASCII,但對於'\n'
正常工作)。
小心檢查換行符,您知道行結尾的格式,因爲Unix(和現代Mac)使用\ n,但Windows使用\ r \ n並且經典Mac使用\ r。
當比較單字符,而不是考慮使用:
if ([[NSCharacterSet newlineCharacterSet] characterIsMember:unicharCharacter])
{
//any type of newline
}
else
{
//etc
}
然後,你將捕獲所有類型的換行,並有代碼,你可以很容易地修改,以匹配不同的字符集(如whitespaceAndNewlineCharacterSet)。
這是與unichars的大好處。
謝謝。我找到了一個類NSCharacterSet,它有一個靜態方法來生成我可以比較的NSNewlineCharacterSet。 – LeeMobile 2009-07-08 17:56:30