困惑于NSPredicate predicateWithFormat表

时间:2014-05-24 15:56:13

标签: objective-c

这两行代码都有效,但并不像我期望的那样。第一个,使用变量仅跳过表的第一项并更新所有剩余项。在第二个选项中使用字符串文字不会按照我想要的方式工作。为什么会发生这种情况?

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"myString == %@", date];

                                    OR

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"myString == '5/24/14'"];

1 个答案:

答案 0 :(得分:1)

要了解原因,请尝试记录date

NSLog(@"%@", date);

你会看到结果字符串(在控制台中)看起来不像'5/24/14'!但是(您在控制台中看到的)是您在第一个代码中使用的字符串。

所有关于 NSDate如何覆盖NSString。怎么解决这个问题?使用NSDateFormatter将日期转换为您所追求的形式的字符串!