gpt4 book ai didi

objective-c - IF子句是否未验证NSString函数返回?

转载 作者:行者123 更新时间:2023-12-01 17:17:43 25 4
gpt4 key购买 nike

我下面的函数可以验证另一个函数的返回(返回NSString的函数searchPlaces)。当我运行它时,似乎没有调用if子句,因为NSLog(@“Function Return:%@”,nova url);出现在控制台中。

有人可以告诉我代码中是否有错误? (确定有错误!)

- (void) buttonPushRandomViewController1 {

UIViewController *randomViewController = [self randomViewController3];

NSString *novaurl = [self searchPlaces];
NSLog(@"Function Return: %@",novaurl);

if (novaurl == @"OK") {
randomViewController.title = @"Resultado";
[self.master pushViewController:randomViewController animated:YES];

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:novaurl]];
[webView loadRequest:request];
}else if (novaurl == @"ZERO_RESULTS") {
UIAlertView *zeroResults = [[UIAlertView alloc] initWithTitle: @"Ops!" message: @"Sorry, nothing found!"
delegate: self cancelButtonTitle: @"OK" otherButtonTitles: nil];
[zeroResults show];
[zeroResults release];
}
}

提前致谢!

最佳答案

您不应将NSString==运算符进行比较。 ==运算符对Objective-C对象类型执行引用相等:仅当两个操作数都引用完全相同的对象时,它才返回true。即使两个字符串是彼此的副本,但如果==引用不同的实例,它们也将返回false。

您想使用值相等。您可以使用 -isEqualToString: 方法比较字符串:

if ([novaurl isEqualToString:@"OK"]) {
...
}

关于objective-c - IF子句是否未验证NSString函数返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7787020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com