Iphone 为什么nspredicate崩溃?
我想检查字段是否包含数据。这是我的密码:Iphone 为什么nspredicate崩溃?,iphone,objective-c,ipad,core-data,Iphone,Objective C,Ipad,Core Data,我想检查字段是否包含数据。这是我的密码: [fetchRequest setPredicate:[NSPredicate predicateWithFormat: @"( SeriesStudyID == %@ )" ,"" ]]; 但它崩溃了。为什么?@iAnand的答案是错误的。在谓词格式字符串中使用%@是完全可以接受的 问题是,%@意味着在对象中替换,但您正在替换“,它不是一个对象,而是一个字符*。因此,您只需在双引号前面添加一个
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:
@"( SeriesStudyID == %@ )" ,"" ]];
但它崩溃了。为什么?@iAnand的答案是错误的。在谓词格式字符串中使用
%@
是完全可以接受的
问题是,
%@
意味着在对象中替换,但您正在替换“
,它不是一个对象,而是一个字符*
。因此,您只需在双引号前面添加一个@
符号,即可将其从char*
转换为NSString
您正在传递一个C字符串,其中需要一个Objective-C对象。