需要isEqualToString args的格式化帮助

时间:2009-09-21 22:32:00

标签: objective-c

代码示例:

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语句中的表达式?

1 个答案:

答案 0 :(得分:3)

问题似乎是你要求self.answers(一个NSArray)为它的valueForKey:@"whatever" - 这不会返回一个字符串,而是一个由查询每个对象的结果组成的数组该键值的数组。 NSArray的description方法(当您对其进行NSLog时打印的内容)是括号括起来的数组内容。所以你要将字符串与包含字符串的数组进行比较。