2

我想characterAtIndex在Objective-C中使用来比较某个位置的字符和一个字符(例如'v')。问题是它characterAtIndex似乎发送了一个 int 而不是一个字符。我试图做这样的事情:

if ([string characterAtIndex:i] = @"v")

或者也:

if (string[[string characterAtIndex:i]] .... )

我知道在某些语言中,您可以直接转到字符串中的某个位置(如数组)以查看字符,但在 Objective-C 中似乎不是这样。

谢谢你的帮助!

4

2 回答 2

8

characterAtIndex返回一个字符,而不是 NSString 对象,所以请改为执行此类操作,

if ([a characterAtIndex:i] == 'v') 
于 2012-06-17T04:03:06.993 回答
4

我更喜欢@X-Slash 的答案(+1),但为了彻底,我将展示如何仅使用 OOP 可可(即使用 NSString 而不是 c-strings)来做到这一点。

if([[a substringWithRange:(NSRange){0,1}] isEqualToString:@"v"]) { ...

其中 {0,1} 是第一个字符,{1,1} 是第二个字符,依此类推。

于 2012-06-17T04:15:28.553 回答