比较字符串与 isEqual 不是 运行 完整功能 iOS
comparing strings with isEqual isn't running the full function iOS
我有一个恼人的问题,我正试图解决这个问题,但它并没有发生,所以要么我遗漏了一些愚蠢的东西,要么我做错了。
基本上我喜欢检查一个字符串,如果是,则加载空白字符串,如果是其他任何内容,则加载真正的字符串。
这是我的代码。
NSString* q1ynu = [defaults objectForKey:@"1aq1ynu"];
if ([q1ynu isEqualToString:@"No"]){
NSString *q1text = @" ";
NSString *q1lmh = @" ";
}else{
NSString* q1lmh = [defaults objectForKey:@"1aq1lmh"];
NSString* q1text = [defaults objectForKey:@"1aq1"];
}
我将 NSString *q1text = @" ";
放在实现之后和 viewDidLoad 之前,但它确实抱怨未使用的变量。
它之前加载了所有 3 个答案,而不管是否检查,但现在在加载第一个答案后加载了否,或者是,没有别的?
我是不是遗漏了什么,或者这只是不应该工作?如果没有,那么什么会起作用,因为我不知所措?
谢谢大家
BOOL q1ynu = [[defaults objectForKey:@"1aq1ynu"] isEqualToString:@"No"];
NSString *q1text = q1ynu ? @" " : [defaults objectForKey:@"1aq1"];
NSString *q1lmh = q1ynu ? @" " : [defaults objectForKey:@"1aq1lmh"];
您在 if 语句中声明变量,它们将不存在于它之外。你需要更多这样的东西:
NSString* q1ynu = [defaults objectForKey:@"1aq1ynu"];
NSString *q1text = @" ";
NSString *q1lmh = @" ";
if (![q1ynu isEqualToString:@"No"]){
q1lmh = [defaults objectForKey:@"1aq1lmh"];
q1text = [defaults objectForKey:@"1aq1"];
}
// Now you can do something with q1lmh and q1text...
请注意,这仍然是一个非常难看的代码:)
我有一个恼人的问题,我正试图解决这个问题,但它并没有发生,所以要么我遗漏了一些愚蠢的东西,要么我做错了。
基本上我喜欢检查一个字符串,如果是,则加载空白字符串,如果是其他任何内容,则加载真正的字符串。
这是我的代码。
NSString* q1ynu = [defaults objectForKey:@"1aq1ynu"];
if ([q1ynu isEqualToString:@"No"]){
NSString *q1text = @" ";
NSString *q1lmh = @" ";
}else{
NSString* q1lmh = [defaults objectForKey:@"1aq1lmh"];
NSString* q1text = [defaults objectForKey:@"1aq1"];
}
我将 NSString *q1text = @" ";
放在实现之后和 viewDidLoad 之前,但它确实抱怨未使用的变量。
它之前加载了所有 3 个答案,而不管是否检查,但现在在加载第一个答案后加载了否,或者是,没有别的?
我是不是遗漏了什么,或者这只是不应该工作?如果没有,那么什么会起作用,因为我不知所措?
谢谢大家
BOOL q1ynu = [[defaults objectForKey:@"1aq1ynu"] isEqualToString:@"No"];
NSString *q1text = q1ynu ? @" " : [defaults objectForKey:@"1aq1"];
NSString *q1lmh = q1ynu ? @" " : [defaults objectForKey:@"1aq1lmh"];
您在 if 语句中声明变量,它们将不存在于它之外。你需要更多这样的东西:
NSString* q1ynu = [defaults objectForKey:@"1aq1ynu"];
NSString *q1text = @" ";
NSString *q1lmh = @" ";
if (![q1ynu isEqualToString:@"No"]){
q1lmh = [defaults objectForKey:@"1aq1lmh"];
q1text = [defaults objectForKey:@"1aq1"];
}
// Now you can do something with q1lmh and q1text...
请注意,这仍然是一个非常难看的代码:)