代码示例:
NSString *title = [[NSString alloc]initWithFormat: @"%@", [self.answers valueForKey:idVor]];
NSString *message = [[NSString alloc]initWithFormat: @"%@",nameVor];
NSLog(@"%@", title);
NSLog(@"%@", message);
if([title isEqualToString:message])
NSLog(@"equal");
vars标题和消息永远不会响应if语句,即使它们包含相同的字符串。
我为这些运行NSLogs以查看每个字符串var中包含的内容 我得到了以下输出:
f[Session started at 2009-09-21 17:27:56 -0500.]
2009-09-21 17:28:00.256 pickerReview[2394:20b] (
Amedee
)
2009-09-21 17:28:00.257 pickerReview[2394:20b] Amedee
我猜它不相等,因为NSString title var在它周围有括号...有没有办法对它进行格式化以使它满足if语句中的表达式?
答案 0 :(得分:3)
问题似乎是你要求self.answers(一个NSArray)为它的valueForKey:@"whatever"
- 这不会返回一个字符串,而是一个由查询每个对象的结果组成的数组该键值的数组。 NSArray的description
方法(当您对其进行NSLog时打印的内容)是括号括起来的数组内容。所以你要将字符串与包含字符串的数组进行比较。