我想在Objective-C中使用characterAtIndex
来比较某个位置的角色和一个角色(例如'v')。问题是characterAtIndex
似乎发送了一个int而不是一个字符。我试着做这样的事情:
if ([string characterAtIndex:i] = @"v")
或者:
if (string[[string characterAtIndex:i]] .... )
我知道在某种语言中你可以直接进入字符串中的某个位置(如数组)来查看字符,但在Objective-C中似乎没有这种方式。
谢谢你的帮助!
答案 0 :(得分:8)
characterAtIndex
返回一个char,而不是NSString对象,所以改为做这种事情,
if ([a characterAtIndex:i] == 'v')
答案 1 :(得分:4)
我更喜欢@ X-Slash的答案(+1),但为了彻底,我将展示如何使用OOP cocoa(即使用NSString而不是c-strings)来完成此操作。
if([[a substringWithRange:(NSRange){0,1}] isEqualToString:@"v"]) { ...
{0,1}是第一个字符,{1,1}是第二个字符