为了在核心数据中使用,我尝试构建一个NSPredicate
对象。minLength
和maxLength
的类型为int
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"length >= %@ AND length <= %@",
minLength, maxLength];
程序在这里崩溃,并显示一个EXC_BAD_ACCESS
。如果我使用%d
而不是%@
,情况就不同了
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"length >= %d AND length <= %d",
minLength, maxLength];
这里我漏掉了什么?
发布于 2011-07-24 20:15:02
%@
是对象的format specifier。int
不是对象。有符号整数的格式说明符是%d
或%i
。
发布于 2011-07-24 20:15:29
在int格式中,您不应该使用%@
,而应该使用%i
。%@
用于objects`。
https://stackoverflow.com/questions/6806727
复制相似问题