如果使用==语句检查NSString相等性

ios*_*eak 1 cocoa objective-c string-comparison nsstring

我正在使用一些Objective-c代码进行服务器调用.如果它返回为a @"yes",它将执行操作.由于某种原因,// DO ACTION HERE从未达到过该部分.

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSString *returnStringResults = returnString;
NSString *yesText = @"yes";

if (returnStringResults == yesText) {
    testLabel.text = @"Success";
    // DO ACTION HERE
}
Run Code Online (Sandbox Code Playgroud)

W D*_*son 8

if ([returnStringResults isEqualToString:yesText]) {
    testLabel.text = @"Success";
    // DO ACTION HERE
}
Run Code Online (Sandbox Code Playgroud)

编辑:正如bbum指出的那样,NSString *returnStringResults = returnString;什么都不做.

所以,真的,删除该行并使用

if ([returnString isEqualToString:yesText]) {
    testLabel.text = @"Success";
    // DO ACTION HERE
}
Run Code Online (Sandbox Code Playgroud)

  • 还有`NSString*returnStringResults = returnString;`没有用处. (4认同)