我正在尝试编写变量requestURL。但是我希望它的值不同,具体取决于请求methodName的值。但是当我使用下面的代码时,我收到一条错误说明
“警告”:未使用的变量'requestURL'“。我在这里做错了什么?
if ([[request methodName] isEqualToString:@"getTargets"]) {
NSString *TMPrequestUrl = [addressSSL stringByAppendingString:[request methodName]];
NSString *trailingSlash = @"/";
NSString *requestUrl = [TMPrequestUrl stringByAppendingString:trailingSlash];
}
else{
NSString *requestUrl = [addressSSL stringByAppendingString:[request methodName]];
}
答案 0 :(得分:2)
我想你想在if / else语句之后保留requestUrl:
NSString *requestUrl = nil;
if ([[request methodName] isEqualToString:@"getTargets"]) {
NSString *TMPrequestUrl = [addressSSL stringByAppendingString:[request methodName]];
NSString *trailingSlash = @"/";
requestUrl = [TMPrequestUrl stringByAppendingString:trailingSlash];
}
else{
requestUrl = [addressSSL stringByAppendingString:[request methodName]];
}
答案 1 :(得分:1)
您没有做错任何事 - 它只是警告您没有使用requestURL变量。
可能你想做类似的事情:
NSString *requestUrl = nil;
if ([[request methodName] isEqualToString:@"getTargets"]) {
NSString *TMPrequestUrl = [addressSSL stringByAppendingString:[request methodName]];
NSString *trailingSlash = @"/";
requestUrl = [TMPrequestUrl stringByAppendingString:trailingSlash];
}
else{
requestUrl = [addressSSL stringByAppendingString:[request methodName]];
}
//use requestUrl here
// [self someMethod:requestUrl]
答案 2 :(得分:1)
编译器不知道NSString *requestUrl
内的if
已崩溃,
因此,您应该使用空字符串在if
语句的范围之外声明requestUrl字符串,并在if
内附加所需的值。
答案 3 :(得分:0)
考虑执行if
或else
块时会发生什么。 requestUrl
范围广泛,从未使用过。
您可能要做的是在 requestUrl
语句之前声明if
,然后在if/else
中分配。