isEqualToString始终返回true

Man*_*noj 2 objective-c nsstring

for (Annotation *ann in annotaionArray) // annotationArray contains annotations added to map
{
    NSString *fetchedtitle = ann.title;

    if([fetchedtitle isEqualToString:oldTitle]); // oldTitle = textfield.text
    {
        ann.title = appDelegate.pinTitle;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

但比较总是如此.可能是什么错误?

从sqlite获取的const char被转换为stringWithUTF8String.

一切都已完成,以完美地转换为字符串,但仍然为什么错误比较?

tro*_*foe 8

去掉尾随的分号!

if ([fetchedtitle isEqualToString:oldTitle])
{
    ann.title = appDelegate.pinTitle;
    break;
}
Run Code Online (Sandbox Code Playgroud)

使用分号,您的代码与以下内容相同:

if ([fetchedtitle isEqualToString:oldTitle])
    ;
{
    ann.title = appDelegate.pinTitle;
    break;
}
Run Code Online (Sandbox Code Playgroud)