我在objective-c中遇到了一些奇怪的事情,我正在尝试将cell.label与元素title(即字符串)进行比较。确定它是我正在寻找的细胞。
NSLog(@"%@", cell.textLabel.text);
NSLog(@"%@", [_dropDownSelection1.elements[1] title]);
if(cell.textLabel.text == [_dropDownSelection1.elements[1] title]){
NSLog(@"Positive");
}
else{
NSLog(@"Negative");
}
NSLog打印出两者中的文字完全相同,但我仍然总是以负面...为什么会这样?
答案 0 :(得分:3)
您应该使用[cell.textLabel.text isEqualToString:[_dropDownSelection1.elements[1] title]]
来比较字符串。
答案 1 :(得分:3)
您正在将指针彼此进行比较,而不是字符串。
改为使用IsEqual。
答案 2 :(得分:1)
你不能那样比较它们。
请参阅Objective-C docs上的识别和比较字符串部分。
答案 3 :(得分:0)
这是适合我的代码!我不知道为什么,但是,如果没有初始化变量,我就无法使它工作,即使使用上面提供的isEqualToString。
NSLog(@"CELL:%@", cell.textLabel.text);
NSLog(@"ELEM:%@", [_dropDownSelection1.elements[1] title]);
NSString *labl = cell.textLabel.text;
NSString *tit = [_dropDownSelection1.elements[1] title];
if([labl isEqualToString:tit])
{
NSLog(@"Positive");
}
else{
NSLog(@"Negative");
}
答案 4 :(得分:0)
比较两个字符串的方法是isEqualToString:
您的代码就像这样
NSLog(@"%@", cell.textLabel.text);
NSLog(@"%@", [_dropDownSelection1.elements[1] title]);
if(cell.textLabel.text isEqualToString:[_dropDownSelection1.elements[1] title])
{
NSLog(@"Positive");
}
else
{
NSLog(@"Negative");
}