【发布时间】:2011-03-25 03:04:46
【问题描述】:
我正在尝试将 NSPredicate 与 64 位数字一起使用,但由于某种原因它失败了。我使用以下字符串创建谓词:
[NSString stringWithFormat:@"UID == %qu", theUID]
而且总是失败。然而,如果我遍历我的对象并比较if ( UID == theUID ),我会发现一个很好。我真的很困惑为什么这不能正常工作。
以上看起来正确吗?我的谓词适用于其他整数甚至字符串。但这似乎失败了。
谢谢!
编辑:太奇怪了...所以我通过以下方式创建我的谓词:
NSPredicate *myPredicate = [NSPredicate predicateWithFormat:myString];
现在,当我打印 myString,然后打印 myPredicate(通过执行 NSLog(@"%@", blah);)时,我得到:
字符串:UID == 17667815990388404861 谓词:UID == 9223372036854775807
都是同一个字符串,为什么不一样?
【问题讨论】:
标签: objective-c xcode