【问题标题】:Why does nspredicate crash?为什么 nspredicate 会崩溃?
【发布时间】:2011-05-25 09:08:25
【问题描述】:

我想检查一个字段是否包含数据。这是我的代码:

[fetchRequest setPredicate:[NSPredicate predicateWithFormat:
                            @"( SeriesStudyID ==  %@ )" ,"" ]];

但它崩溃了。为什么?

【问题讨论】:

  • 您正在传递一个 C 字符串,其中需要一个 Objective-C 对象。

标签: iphone objective-c ipad core-data


【解决方案1】:

@iAnand 的回答是错误的。在谓词格式字符串中使用%@ 是完全可以接受的。

问题在于%@ 的意思是替换一个对象,但你替换的是"",这不是一个对象,而是一个char*。因此,您只需在双引号前添加一个@ 符号即可将其从char* 转换为NSString

【讨论】:

    猜你喜欢
    • 2012-04-20
    • 1970-01-01
    • 2013-01-31
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多