当前位置: 首页 > 知识库问答 >
问题:

Xcode NSException和

楮阳
2023-03-14

我刚接触MacOS和Xcode,以前从来没有用过。我必须为我的类制作一个使用Xcode的简单游戏。我已经设法设置了一切(使用VirtualBox),看了一些教程,做了一个简单的石头,纸,剪刀游戏。构建是成功的,但是当模拟器启动我的应用程序时,我得到一个关于我的三个按钮(Paper_Button)的错误。即使在ViewController中注释按钮的代码,仍然会得到错误。我查了一下我的代码,但是什么也没有...我为这个愚蠢的问题感到抱歉,但我似乎没有找到任何解决办法。

这是一个错误:

异常NSException*“[ SetValue:ForUndefinedKey:]:对于键Paper_Button,此类不符合键值编码.”0x0000600001AB83F0名称__NSCFConstantString*“NSunKnownKeyException”0x00007FFF801E80A0原因__NSCFString*“[ SetValue:ForUndefinedKey:]:对于键Paper_Button,此类不符合键值编码.”0x00006000025E8280 UserInfo__nsDictionarYI*2键/值对0x00006000001A10C0保留__nsDictionarYM*2键/值对0x00006000014C5FC0


    //
//  ViewController.swift
//  RPS
//
//  Created by MaiorCristian on 4/21/21.
//

import UIKit

//@interface
//SettingsViewController:
//UITableViewController

//BEFORE: UIViewController
//AFTER: UITableViewController

class ViewController: UIViewController {
    
    var player_points = 0
    var cpu_points = 0
    
    @IBOutlet weak var CPU_label: UILabel!
    @IBOutlet weak var YOU_label: UILabel!
    @IBOutlet weak var CPU_Image: UIImageView!
    @IBOutlet weak var WINNER: UILabel!
    
    
    var playersChoice = 0;
    @IBAction func ROCK_Button(_ sender: Any) {
        playersChoice = 1
        let cpuNumberChoice = Int.random(in: 1...3)
        setCPUimage(imageView: CPU_Image, imageNumber: cpuNumberChoice)
        
        //rock 1, paper 2, scissors 3
        
        //rock - rock
        if cpuNumberChoice == 1 && playersChoice == 1 {
            //tie
            WINNER.text = "WINNER: TIE!"
        }
        //paper - rock
        if cpuNumberChoice == 2 && playersChoice == 1 {
            cpu_points = cpu_points + 1
            WINNER.text = "WINNER: CPU!"        }
        //scissors - rock
        if cpuNumberChoice == 3 && playersChoice == 1 {
            player_points = player_points + 1
            WINNER.text = "WINNER: YOU!"        }
        
        YOU_label.text = "YOU: \(player_points)"
        CPU_label.text = "CPU: \(cpu_points)"
        
    }
    
    /*@IBAction func PAPER_Button(_ sender: Any) {
        playersChoice = 2
        let cpuNumberChoice = Int.random(in: 1...3)
        setCPUimage(imageView: CPU_Image, imageNumber: cpuNumberChoice)
        
        //rock 1, paper 2, scissors 3
        
        //paper - paper
        if cpuNumberChoice == 2 && playersChoice == 2 {
            WINNER.text = "WINNER: TIE!"        }
        //scissors - papper
        if cpuNumberChoice == 3 && playersChoice == 2 {
            cpu_points = cpu_points + 1
            WINNER.text = "WINNER: CPU!"        }
        //rock - papper
        if cpuNumberChoice == 1 && playersChoice == 2 {
            player_points = player_points + 1
            WINNER.text = "WINNER: YOU!"        }
        
        YOU_label.text = "YOU: \(player_points)"
        CPU_label.text = "CPU: \(cpu_points)"
        
    }
    */
    @IBAction func SCISSORS_Button(_ sender: Any) {
        playersChoice = 3
        let cpuNumberChoice = Int.random(in: 1...3)
        setCPUimage(imageView: CPU_Image, imageNumber: cpuNumberChoice)
        
        //rock 1, paper 2, scissors 3
        
        //scissors - scissors
        if cpuNumberChoice == 3 && playersChoice == 3 {
            WINNER.text = "WINNER: TIE!"        }
        //rock - scissors
        if cpuNumberChoice == 1 && playersChoice == 3 {
            cpu_points = cpu_points + 1
            WINNER.text = "WINNER: CPU!"        }
        //paper - scissors
        if cpuNumberChoice == 2 && playersChoice == 3 {
            player_points = player_points + 1
            WINNER.text = "WINNER: YOU!"        }
        
        YOU_label.text = "YOU: \(player_points)"
        CPU_label.text = "CPU: \(cpu_points)"
        
    }
    ///

        //
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

    //@IBAction func

    func setCPUimage(imageView:UIImageView, imageNumber: Int){
        switch imageNumber {
        case 1://rock
            imageView.image = UIImage(named: "IMG_20210421_121204_edit_267680766477383")
        case 3://scissors
            imageView.image = UIImage(named: "IMG_20210421_121232_edit_267656474039366")
        case 2://paper
            imageView.image = UIImage(named: "IMG_20210421_121216_edit_267673424825822")
        
        default:
            print("error")
            //imageView.image = UIImage(named: "rock")
        }
        
    }
    
    
    
    
}


libc++abi.dylib: terminating with uncaught exception of type NSException

***由于未捕获异常“NSunKnownKeyException”而终止应用程序,原因:“[ SetValue:ForUndefinedKey:]:对于键Paper_Button,此类不符合键值编码。”以未捕获的NSException CoreSimulator 732.18.6类型的异常终止-设备:iPhone 11(BCA23623-0F8A-46DA-BE7F-F3B81149500E)-运行时:iOS 14.4(18D46)-设备类型:iPhone 11***由于未捕获的异常“NSunKnownKeyException”终止应用程序,原因:“[ SetValue:ForUndefinedKey:]:该类不符合密钥Paper_Button的密钥值编码。”以NSException CoreSimulator 732.18.6类型的未捕获异常终止-设备:iPhone 11(BCA23623-0F8A-46DA-BE7F-F3B81149500E)-运行时:iOS 14.4(18D46)-设备类型:iPhone 11(lldb)

共有1个答案

皇甫卓君
2023-03-14

该错误表示由.xib或.storyboard文件引用的Paper_ButtonViewController类中不存在。

我猜从.xib或.storyboard文件中删除paper_button将修复该错误。

 类似资料:
  • 本文向大家介绍说说QQ和微信的差别,如产品定位、用户群体、功能特色等。相关面试题,主要包含被问及说说QQ和微信的差别,如产品定位、用户群体、功能特色等。时的应答技巧和注意事项,需要的朋友参考一下 1.产品定位 QQ:针对青少年的通讯社交软件,同时满足通讯和交友需求。 微信:针对各年龄群体的通讯工具,主打熟人通讯,现在已经泛化为提供各种生活服务的平台产品。 2.用户群体 QQ:青少年为主,低龄化较为

  • 本文向大家介绍一款app好坏的判断标准有哪些?请分别列出 1-3 个你认为「好」和「不好」的产品并说明。相关面试题,主要包含被问及一款app好坏的判断标准有哪些?请分别列出 1-3 个你认为「好」和「不好」的产品并说明。时的应答技巧和注意事项,需要的朋友参考一下 1.基本要求:是否有明确的用户价值,即能否为某些用户在某些场景下的具体需求提供解决方案,如果可以,则具备用户价值。 2.基本要求:真实合

  • 本文向大家介绍请你对滴滴地图和高德地图进行简要的竞品分析相关面试题,主要包含被问及请你对滴滴地图和高德地图进行简要的竞品分析时的应答技巧和注意事项,需要的朋友参考一下 滴滴司机端应该是可以设置选择导航的,司机可以选择内置导航(应该就是滴滴导航了吧),也可以选择第三方导航工具。 从做这两个地图产品的公司背景来看,滴滴是做出行的,高德是阿里做电商、新零售和o2o的。 因此不在从功能上做竞品分析 定位不

  • 本文向大家介绍针对用户观看短视频场景,请你分析不同年龄段女性的正向需求,可以基于内容,心理,动机和行为进行分析相关面试题,主要包含被问及针对用户观看短视频场景,请你分析不同年龄段女性的正向需求,可以基于内容,心理,动机和行为进行分析时的应答技巧和注意事项,需要的朋友参考一下 首先,定义观看短视频的女性人群,应该主要在15-60岁之间。可将女性划分为15-30岁青年女性;30-45岁中年女性;45-

  • 本文向大家介绍请你分析淘宝中的“淘抢购”频道的用户群体和用户需求。相关面试题,主要包含被问及请你分析淘宝中的“淘抢购”频道的用户群体和用户需求。时的应答技巧和注意事项,需要的朋友参考一下 用户群体: 对低价商品有较高需求,消费水平较低,闲暇时间较多,爱占小便宜的偏中年女性群体。 用户需求: 1、商品性价比高 2、商品具有多样性和实用性,能满足生活所需的多方面 3、商品有一定的价格差异和即时性,有抢

  • 问题内容: 我正在使用休眠将对象映射到数据库。客户端(iOS应用程序)向我发送了JSON格式的特定对象,我使用以下实用程序方法将其转换为真实的表示形式 但是问题是,在我的pogo中,我将值存储为byte [],如下所示(因为这是存储在数据库中的内容-blob) 当然,现在转换失败了,因为它无法在byte []和String之间进行转换。 这是更改构造函数以接受String而不是字节数组,然后在设置

  • 问题内容: 我感到困惑的是,在同一SQL Server实例中使用跨数据库查询的优缺点是什么? 我能想到的一件事是性能问题(查询将很慢),如果是这种情况,该问题的解决方案是什么? 请重点说明解决方案的优点和缺点,以便我可以放心地在两个数据库上工作。 我有两个数据库db1 Companies / CRM和db2 Products / E-commerce 问题答案: 您可能遇到的问题与管理有关。请在此

  • 问题内容: 为了你的“重复”的狂热分子,对这样的权利类似的问题在这里。所不同的是,我描绘了一个我无法理解其输出的生动示例。 JspWriter和PrintWriter的文档说有两个区别: 1. JspWriter可以引发异常,而PrintWriter不应这样做。 2. JspWriter在幕后使用PrintWriter,但是由于默认情况下JSP页面被缓冲,因此PrintWriter直到-在JSP页