我看过几个帖子来回答我的问题,但我一直在收到错误。
我基本上有一个包含2个字符的NSString ......
myString = @"ABC";
我想做的就是将myString中的第一个字符分配给另一个NSString变量......
NSString *firstChar;
firstChar = [myString characterAtIndex:0];
我这样做时出现此错误:
不兼容的整数到指针转换从'unichar'(又名'unsigned short')分配给'unichar *'(又名'unsigned short *')
我做错了什么?
答案 0 :(得分:2)
NSString
的{{1}}返回characterAtIndex:
,而不是字符串,因此您不能将其分配给另一个字符串。您需要先从中创建一个字符串:
unichar
当然,正如DarkDust所说,你也可以使用NSString *myString = @"ABC";
unichar firstChar = [myString characterAtIndex:0];
NSString *string = [NSString stringWithCharacters:&firstChar length:1];
从字符串的子范围中获取字符串:
substringWithRange:
答案 1 :(得分:1)
characterAtIndex:
方法返回unichar
(字符的整数表示)。您想要的是-[NSString substringWithRange:]
,例如[myString substringWithRange:NSMakeRange(0, 1)];