2013-05-05 101 views
0

我有這樣的代碼:CharacterInString沒有產生預期的結果

NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyz1234567890"]; 

NSLog(@"character set: %i", [characterSet characterIsMember:(unichar)"a"]); 

的的NSLog返回0,當我希望它返回1,爲什麼我這樣做不對?

回答

4

您已經蒙上了C字符串(一指針char)到unichar。 通過'a'更換"a"產生預期的結果:

NSLog(@"character set: %i", [characterSet characterIsMember:(unichar)'a']); 
0

馬丁是完全真實的;什麼可以成爲現實生活中的情況,當你從字符串讀你的單字符:

NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyz1234567890"]; 
unichar character = [@"cba" characterAtIndex:2]; 
NSLog(@"character set: %d", [characterSet characterIsMember:character]); 

在這種情況下,鑄造是不是一個問題,characterAtIndex返回正確輸入字符。

相關問題