【问题标题】:Mac OS X 10.6 Swift 4.2 Xcode 10.0: this class is not key value coding-compliant for the keyMac OS X 10.6 Swift 4.2 Xcode 10.0:此类与键的键值编码不兼容
【发布时间】:2018-10-24 14:46:50
【问题描述】:

情况:Mac OS X 10.6 Swift 4.2 Xcode 10.0 应用程序。存储在 Sqlite db 中的数据,然后将其放入数组控制器和 tableview 的数组中。 ArrayController 的对象控制器的 Mode 设置为 Class,Class Name 为“Recording”(无引号),结构如下(在名为 Recording 的 swift 文件中):

@objc(Recording)
class Recording: NSObject {
    @objc dynamic var user: UUID
    @objc dynamic var recordingdate: Date
    @objc dynamic var recordingtime: String
    @objc dynamic var occurrence: String
    @objc dynamic var reading: Int32
    @objc dynamic var note: String

    init(user: UUID, recordingdate: Date, recordingtime: String, occurrance: String, reading: Int32, note: String) {
        self.user = user
        self.recordingdate = recordingdate
        self.recordingtime = recordingtime
        self.occurrence = occurrance
        self.reading = reading
        self.note = note
    }
}

ArrayController 绑定到 ViewController,Model Key Path 设置为 RecordingsArray,这是一个 Recording 对象的数组。

TableView 表格内容绑定到 ArrayController,Controller Key 设置为arrangedObjects。有 3 列,每个 Table View Cell 绑定到它们的 Table Cell View,ModelKey Paths 设置为 objectValue.aRecordingVar。

问题是我不断收到以下错误:

这个类不符合键 RecordingsArray 的键值编码。

Sqlite db 有一个名为 Recordings 的实体,具有以下属性:

note: String
occurrence: String
recnum: Int32
recording: Int32
recordingdate: Date
recordingtime: String
user: UUID

我已经毫无影响地清理和重建了项目,并观看了许多关于这个主题的 youtube 视频和谷歌搜索,没有偏离过程。有人对出了什么问题有任何想法吗?

【问题讨论】:

  • “这个类不符合键值编码的键记录。”:什么类?你能显示完整的错误信息吗?
  • 该类是上面清单中显示的 Recording 类。完整的错误消息很长,但给出的语句是错误列表的要点。
  • 请至少显示完整的错误消息 this class is not key value coding-compliant for the key RecordingsArray. 部分。会不会是 InterfaceBuilder 中设置错误的类的问题?改名?等等。
  • 同时显示RecordingsArray的声明。
  • 2018-10-24 10:49:54.524851-0400 路径 ~/Contents/Resources/Base.lproj/Main.storyboardc/RecordingsVC.nib 中的 Interface Builder 文件中的未知类。 [常规] [ valueForUndefinedKey:]:此类对于键 RecordingsArray 不符合键值编码。

标签: macos swift4


【解决方案1】:

Larme,感谢您的回复,这让我仔细查看了我的作业,我发现我在 Storyboard 中分配了 nib 文件的 ViewController swift 文件有误。现在一切正常。

【讨论】:

    猜你喜欢
    • 2014-05-17
    • 1970-01-01
    • 2017-09-27
    • 2017-12-15
    • 2015-08-27
    • 2011-03-17
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多