【问题标题】:swift - NSPREDICATE fails [duplicate]swift - NSPREDICATE 失败 [重复]
【发布时间】:2015-07-01 08:25:25
【问题描述】:

如果 articleID 存在,我会尝试过滤 coredata,如果不存在,则将其添加到 coredata。但我刚开始 EXC_BAD_ACCESS 错误形式让谓词行...

var error: NSError?
let fetchRequest = NSFetchRequest(entityName: "Article")
let predicate = NSPredicate(format: "articleID == %@", articleID!)

fetchRequest.predicate = predicate
let results = self.context!.executeFetchRequest(fetchRequest, error: &error) as! [Article]

    if results.count > 0 {
       println("already in the list")
    }else{
       newArticle.articleID = articleID!
       newArticle.abstract = abstract!
       newArticle.authorName = authorName!

        var saveError: NSError?
        self.context!.save(&saveError)

        if let _error = saveError {
            println("\(_error.localizedDescription)")
        } else {
            println("Saved!")
        }
    }

【问题讨论】:

  • 可能是因为 articleID 为 nil
  • 我将如何实现对 NSPREDICATE 的 if 检查?
  • 只要检查 articleID 是否为 != nil,如果不是,就是 nil
  • 我必须在我的文章核心数据中添加表格。文章和favArticles,我将一篇文章标记为favArticle。如果一篇文章已经被收藏,我不想将它添加到 favArtiles。我想我检查了错误的 articleID,因为它总是 nil...
  • 它是一个整数。我使用 %ld 而不是 %@ 并且它有效。谢谢...

标签: ios swift core-data


【解决方案1】:
let predicate = NSPredicate(format: "articleID == %@", articleID!)

articleID 是一个整数。我使用 %ld 而不是 %@ 并且它有效...

Swift NSPredicate throwing EXC_BAD_ACCESS(Code=1, address=0x1) when compounding statements

【讨论】:

    猜你喜欢
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    • 2018-09-10
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多