CharacterInString没有产生预期的结果
问题描述:
我有这样的代码:CharacterInString没有产生预期的结果
NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyz1234567890"];
NSLog(@"character set: %i", [characterSet characterIsMember:(unichar)"a"]);
的的NSLog返回0,当我希望它返回1,为什么我这样做不对?
答
您已经蒙上了C字符串(一指针到char
)到unichar
。 通过'a'
更换"a"
产生预期的结果:
NSLog(@"character set: %i", [characterSet characterIsMember:(unichar)'a']);
答
马丁是完全真实的;什么可以成为现实生活中的情况,当你从字符串读你的单字符:
NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyz1234567890"];
unichar character = [@"cba" characterAtIndex:2];
NSLog(@"character set: %d", [characterSet characterIsMember:character]);
在这种情况下,铸造是不是一个问题,characterAtIndex返回正确输入字符。