2011-11-06 183 views
-1

我有一个名称数组,但似乎无法进行比较工作。我在这里使用不当的语言吗?Objective-C字符串比较

NSLog(@"%@",[arrayOfNames objectAtIndex:0]); 

if ([arrayOfNames objectAtIndex:0] == "Blue"){ 
    NSLog(@"it's Blue"); 
} 
else { 
    NSLog(@"it's not Blue"); 
} 

输出为以下之一:

它不是蓝

回答

7

使用以下命令:

if ([[arrayOfNames objectAtIndex:0] isEqualToString:@"Blue"]) 

你比较两个对象(id类型之一,另一个是C字符串)与==运算符。比较将失败,因为它们是2个不同的对象。使用isEqualToString,您将对象的值与字符串@"Blue"进行比较。

+0

谢谢,xCoder,为那个世界纪录响应。不到一分钟。我感谢您的帮助。 (我正在编辑我的问题,发现你已经回答了,再次感谢 –

+1

为了扩大答案,你用==比较两个对象,然后用isEqualToString发送一条消息来比较这两个对象+1 –

+2

甚至没有两个对象;''蓝色''是一个C字符串,而不是一个Objective-C对象 –