2

characterAtIndexObjective-Cで使用して、特定の位置にある文字と文字(たとえば、「v」)を比較したいと思います。問題はcharacterAtIndex、文字ではなくintを送信しているように見えることです。私はこのようなことをしようとしました:

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

またはまた:

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

一部の言語では、文字列の特定の位置(配列など)に直接移動して文字を表示できることは知っていますが、Objective-Cではそのようには機能しないようです。

助けてくれてありがとう!

4

2 に答える 2

8

characterAtIndexNSStringオブジェクトではなくcharを返すので、代わりにこの種のことを行います。

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

@ X-Slashの答えの方が好きです(+1)が、徹底的に、OOPココアのみ(つまり、c文字列の代わりにNSStringを使用)でこれを行う方法を示します。

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

ここで、{0,1}は最初の文字、{1,1}は2番目の文字などです。

于 2012-06-17T04:15:28.553 に答える