如何将characterAtIndex分配给NSString变量?

时间:2013-08-10 11:54:25

标签: objective-c

我看过几个帖子来回答我的问题,但我一直在收到错误。

我基本上有一个包含2个字符的NSString ......

myString = @"ABC";

我想做的就是将myString中的第一个字符分配给另一个NSString变量......

NSString *firstChar;
firstChar = [myString characterAtIndex:0];

我这样做时出现此错误:

  

不兼容的整数到指针转换从'unichar'(又名'unsigned short')分配给'unichar *'(又名'unsigned short *')

我做错了什么?

2 个答案:

答案 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)];