【问题标题】:Key value coding-compliant error while fetching获取时出现键值编码兼容错误
【发布时间】:2017-03-17 22:00:52
【问题描述】:

我喜欢将行移动到tablepersist 中的bottom,如果eventStatus == 1 0r 2,当我再次来到我的屏幕时,我喜欢看到我的更改。我做了以下但行没有移动

        if eventSegCtrl.selectedSegmentIndex == 0 {
        myEventCell.eventLabel.text = self.eventScheduleOnc[indexPath.row].eventNameOnc
        let eventDesc = self.eventScheduleOnc[indexPath.row].eventDecOnc
            let eventStatus = eventDesc?.eventStatus

           if eventStatus == 1 {
                myEventCell.eventLabel.textColor = UIColor.green
                do
                {
            //Create fetch request with NSSortDescriptor
                    let request = NSFetchRequest<NSFetchRequestResult>(entityName: "EventScheduleOnc")
                    let sort = NSSortDescriptor(key: "indexOnc", ascending: true)
                    request.sortDescriptors = [sort]

             //   Acess the last objects index
                    let lastRowIndex = eventTitleOnc.count - 1
                    print(lastRowIndex)
                    request.setValue(lastRowIndex, forKey: "indexOnc")

              // Save it to core data
                   try context.save()
                _ = try context.execute(request)

                }
                catch{}
        }

我收到以下错误

*** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[setValue:forUndefinedKey:]: 此类不符合键 indexOnc 的键值编码。'

【问题讨论】:

  • 该错误表示request中的实体没有名为indexOnc的属性。
  • @rmaddy,但我有那个属性 indexOnc imgur.com/5wrAobQ

标签: swift core-data


【解决方案1】:

您正在尝试在 NSFetchRequest 上设置一个值,但未完成,在此行中:request.setValue(lastRowIndex, forKey: "indexOnc")。该请求将没有您的某个属性的密钥。不知道你想用它做什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多