Swift中的 "该类的键值编码不符合键 "错误。

问题描述 投票:3回答:3

我在Swift中一直收到这个错误信息。

由于未捕获异常'NSUnknownKeyException'而终止应用程序,原因是:"这个类的键值编码不符合键面视图。'[<Faceit.ViewController 0x7f8f72501e40> setValue:forUndefinedKey:]: 这个类的键值编码不符合键面视图的要求'。

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var faceView: FaceView! {
        didSet{
            updateUI()
        }
    }

    var expression = FacialExpression(eyes: .closed, mouth: .frown) {
        didSet {
            updateUI()
        }
    }

    private func updateUI() {
        switch expression.eyes {
        case .open:
            faceView?.eyesOpen = true
        case .closed:
            faceView?.eyesOpen = false
        case .squinting:
            faceView?.eyesOpen = false
        }
        faceView?.mouthCurvature = mouthCurvatures[expression.mouth] ?? 0.0
    }

    private let mouthCurvatures = [FacialExpression.Mouth.grin:0.5,.frown: -1.0,.smile:1.0,.neutral:0.0,.smirk:-0.5]

}
ios swift key-value-observing
3个回答
5
投票

请看。线程1:信号SIGABRT Xcode 6.1

你必须进入Interface Builder,寻找一个(或多个)有三角形警告的插座(按照链接进行截图)。一旦你删除了这些坏的连接,你要么(1)准备好了,因为你已经连接了你的新对象,要么(2)你需要进行新的连接,这样你就可以正确加载所有的元素,而且你没有警告三角形。


0
投票

打开你的storyboard > 选择显示错误的ViewController类> 删除所有的outlet> 并重新分配outlet。希望你的问题能得到解决。这不是一个大问题,你错在一个outlet有多个键或不同的名称键,特别是它的faceview。


0
投票

@vadian已经告诉我如何解决这个问题。它的工作,改变到faceview,也重新连接到界面生成器。(这个很重要)!

© www.soinside.com 2019 - 2024. All rights reserved.