此类与键 setDefaultLabelText 的键值编码不兼容。 [复制]

Posted

技术标签:

【中文标题】此类与键 setDefaultLabelText 的键值编码不兼容。 [复制]【英文标题】:this class is not key value coding-compliant for the key setDefaultLabelText.' [duplicate] 【发布时间】:2017-10-14 21:06:28 【问题描述】:

我知道那里有类似的问题,我已经看过它们,但我似乎无法解决问题。我实际上正在这里做这个项目,Apple 用来帮助用户学习 Xcode:https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiosAppsSwift/ConnectTheUIToCode.html#//apple_ref/doc/uid/TP40015214-CH22-SW1

这是我的 ViewController.swift 代码:

import UIKit

class ViewController: UIViewController 
    //MARK: Properties
    @IBOutlet weak var nameTextField: UITextField!
    @IBOutlet weak var mealNameLabel: UILabel!

    override func viewDidLoad() 
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a 
        nib.
    


    //MARK: Actions
    @IBAction func setDefaultLabelText(_ sender: UIButton) 
        mealNameLabel.text = "Default Text"
    

即使按照所有步骤操作,我仍然会收到此错误:

2017-10-14 16:18:49.195098-0400 FoodTracker[1946:46609] [MC] Lazy loading 
NSBundle MobileCoreServices.framework
2017-10-14 16:18:49.195968-0400 FoodTracker[1946:46609] [MC] Loaded 
MobileCoreServices.framework
2017-10-14 16:18:49.211086-0400 FoodTracker[1946:46609] [MC] System group 
container for systemgroup.com.apple.configurationprofiles path is 
/Users/xcodeclub/Library/Developer/CoreSimulator/Devices/54569EE9-2F14-41C6-
94D7-EDB605459B46/data/Containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2017-10-14 16:18:49.221000-0400 FoodTracker[1946:46609] *** Terminating app 
due to uncaught exception 'NSUnknownKeyException', reason: 
'[<FoodTracker.ViewController 0x7fc93bf08b80> setValue:forUndefinedKey:]: 
this class is not key value coding-compliant for the key setDefaultLabelText.'

有人愿意帮忙吗?

【问题讨论】:

您的 Storyboard 中可能有一个未使用的插座。 【参考方案1】:

我认为同一个标签或文本字段有 2 个出口。您应该在情节提要中检查它(右键单击视图控制器)。这就是本教程这部分结尾的样子。

确保没有警告。

【讨论】:

你有什么办法可以在我发布的代码中指出我可能有两个用于相同标签或文本字段的插座?从我所看到的情况来看,我看到一个用于文本字段,一个用于标签,但我可能会遗漏一些东西。另外,我在哪里可以得到你放在那里的黑色 View Controller 窗口? 不,代码似乎没问题,但这是常见的错误。您可能使用错误的名称制作了插座(或者由于任何其他原因不正确),然后您从代码中删除了它并创建了一个新的。问题是,从代码中删除出口或操作后,您也应该在情节提要中断开/删除它。实际上,我能够重现类似的错误。这是屏幕截图,您可以清楚地看到如何检查它。 [链接] (i.imgur.com/EzIEotN.jpg) 如果您有任何黄色警告,您应该使用“X”断开插座。然后再次使用您的代码连接。 所以文本字段和标签看起来不错,但我收到了 setDefaultLabelText 操作的警告:“ViewController 没有名为 setDefaultLabelText 的出口。” 所以我想你已经尝试将它重新连接到 ViewController 中的操作,但它没有帮助。您绝对应该检查这些答案First 和Second。 是的,看起来只有一个!感谢你的帮助!我现在可以继续学习教程了 :)

以上是关于此类与键 setDefaultLabelText 的键值编码不兼容。 [复制]的主要内容,如果未能解决你的问题,请参考以下文章

此类与键 scrollView 的键值编码不兼容

情节提要:此类与键的键值编码不兼容

此类与键 XXXXXX 的键值编码不兼容

MPMediaItem 此类与键的键值编码不兼容

此类与键错误的键值编码不兼容

此类与键 XXX 的键值编码不兼容 - 类正确连接?