我有一个类,其中有一个可访问的方法,调用时返回NSString
。如果比较两个NSString对象时“a == b”为false
myString = cell.textLabel.text;
当我通过调用该方法来检索该字符串,我把它分配给另一个字符串:
[MyClass getMyString]
在类的字符串变量实际上是在一个表像这样的didSelectRowAtIndexPath:
部分分配调用它,并将它与我已经定义
NSString *mySecondString;
mySecondString = @"my value";
if(mySecondString == myString){
i = 9;
}
我已经通过代码,并在每次评估,如果语句时踩串类,IT方面kips正好通过i=9
并转到下一个else if
声明。为什么会这样?他们为什么不评估价值相同?如果在调试过程中将光标悬停在每个值上,它们将显示它们具有相同的值,但代码由于某种原因没有按照我的预期执行,并将9
指定为i
。
有什么想法?
我很惊讶,在这个网站上搜索没有带来任何结果。这个问题过去曾多次提出并回答过。 – dreamlax 2011-12-22 02:09:50
也许我没有问过这个问题,当我搜索之前,我问了...... - 看到很多处理CFString并将其分配给NSString的问题,但没有看到Kevin Ballard在下面快速回答的问题。谢谢! – MeisterPlans 2011-12-22 02:49:20
[了解NSString比较]的可能的重复(http://stackoverflow.com/questions/3703554/understanding-nsstring-comparison) – 2015-04-01 19:00:51