- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在制作一个应用程序,要求用户按下两个 UIButtons
之一,然后根据按下的按钮打印响应(根据按下按钮的标签确定)。但是,当我运行按下按钮时,我得到一个
Unrecognized selector sent to instance
我该如何解决?
这是我的代码。底部的 IBAction
指的是导致错误的 UIButtons
:
import UIKit
class ViewController: UIViewController {
let story1 = "This is the story."
let answer1 = "No change"
let answer2 = "Lose 1 health"
var healthStat : Int = 10
@IBOutlet weak var storyText: UILabel!
@IBOutlet weak var health: UILabel!
@IBOutlet weak var restartButton: UILabel!
@IBOutlet weak var choiceOne: UIButton!
@IBOutlet weak var choiceTwo: UIButton!
var storyIndex = 1
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
storyText.text = story1
choiceOne.setTitle("\(answer1)", for: .normal)
choiceTwo.setTitle("\(answer2)", for: .normal)
health.text = String("Health: \(healthStat)")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func buttonPressed(_ sender: UIButton) {
if sender.tag == 1 {
print("Option 1 selected")
}
else if sender.tag == 2 {
print("Option 2 selected. Lose 1 health.")
healthStat = healthStat - 1
}
}
}
错误全文如下:
2017-07-29 21:45:24.626 Choose Your Own Adventure[16001:694686] -[Choose_Your_Own_Adventure.ViewController buttonOnePressed:]: unrecognized selector sent to instance 0x7fc199c0cfe0
2017-07-29 21:45:24.638 Choose Your Own Adventure[16001:694686] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Choose_Your_Own_Adventure.ViewController buttonOnePressed:]: unrecognized selector sent to instance 0x7fc199c0cfe0'
*** First throw call stack:
(
0 CoreFoundation 0x0000000113504b0b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x000000011037e141 objc_exception_throw + 48
2 CoreFoundation 0x0000000113574134 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
3 CoreFoundation 0x000000011348b840 ___forwarding___ + 1024
4 CoreFoundation 0x000000011348b3b8 _CF_forwarding_prep_0 + 120
5 UIKit 0x0000000110c66d82 -[UIApplication sendAction:to:from:forEvent:] + 83
6 UIKit 0x0000000110deb5ac -[UIControl sendAction:to:forEvent:] + 67
7 UIKit 0x0000000110deb8c7 -[UIControl _sendActionsForEvents:withEvent:] + 450
8 UIKit 0x0000000110dea802 -[UIControl touchesEnded:withEvent:] + 618
9 UIKit 0x0000000110cd47ea -[UIWindow _sendTouchesForEvent:] + 2707
10 UIKit 0x0000000110cd5f00 -[UIWindow sendEvent:] + 4114
11 UIKit 0x0000000110c82a84 -[UIApplication sendEvent:] + 352
12 UIKit 0x00000001114665d4 __dispatchPreprocessedEventFromEventQueue + 2926
13 UIKit 0x000000011145e532 __handleEventQueue + 1122
14 CoreFoundation 0x00000001134aac01 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
15 CoreFoundation 0x00000001134900cf __CFRunLoopDoSources0 + 527
16 CoreFoundation 0x000000011348f5ff __CFRunLoopRun + 911
17 CoreFoundation 0x000000011348f016 CFRunLoopRunSpecific + 406
18 GraphicsServices 0x000000011542da24 GSEventRunModal + 62
19 UIKit 0x0000000110c65134 UIApplicationMain + 159
20 Choose Your Own Adventure 0x000000010fd9efa7 main + 55
21 libdyld.dylib 0x00000001144a465d start + 1
22 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
最佳答案
您之前似乎已经重命名了您的 IBAction
方法名称,但它有所不同,并且与 Storyboard中的先前名称相关联。因此,只需断开您的操作方法并适本地重新连接即可。
关于ios - 在 Xcode 8/Swift 3 中按下 UIButton 时出现 "Unrecognized selector sent to instance"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45395603/
我最近将 Xcode 更新到 11.3.1 版,之后我无法运行我的应用程序。我一直收到以下异常: 2020-02-11 16:13:04.767795-0600 UVM[5204:80616] -[E
我正在尝试使用 horton 模式注册表在 kafka 中使用 avro 格式的消息。问题是,当我尝试发布 avro 消息时,我收到此错误: Caused by: com.fasterxml.jack
我正在尝试在 Red Hat Linux 上安装 MySql Server。 我已经下载了 tar文件并将其解压缩。 然后,我跑了: rpm -qpl mysql-community-server-5
在 fedora 22 上,我发现所有标准的 go 库在 go 的路径上都不可见。 注意 我确实清理了我的 golang 系统 - 所以我很确定这不是升级 go 时经常发生的混合包版本控制问题。 注意
这个问题在这里已经有了答案: systemctl command doesn't work inside docker-container (2 个回答) 8 个月前关闭。 我是 docker 新手,
如何保护注销操作?我读了default configuration并设置了 logout: csrf_parameter: _token csrf_provider:
我按照说明here按照以下步骤在 WSL 上安装 mariadb。我运行这个sudo service mysql start我有mysql: unrecognized service知道如何解决这个问
我需要选择一个隐藏字段才能将其删除。我想按类型、自定义数据属性和名称选择它。我的选择器如下所示: $("input[type=hidden] data-supplied='Cola' name='co
我正在Ubuntu 16.04上针对ARM体系结构交叉编译gpsd3.20。如您所知,gpsd使用Sconsctruct来编译源代码。在我进行交叉编译时,需要创建libgps.so的那一刻显示了unr
我正在实现 Skobbler SDK (v2.5),但我在第一步中遇到了问题。 应用程序因以下错误而崩溃:[SKVectorMapView displayTrafficWithMode:]:无法识别的
我正在使用以下命令运行 Java: java -Xms3G -Xmx3G -Xmn1G -XX:TargetSurvivorRatio=80 -XX:MaxTenuringThreshold=15 -
我正在使用 django 和 VB Linux Red Hat。我尝试过使用命令 python manage.py runserver - 192.168.1.100:8000 为了访问我的网站。到目
我正在处理使用 CodeIgniter 和 HTML5 布局的新网站。 我从我的旧网站复制了一些代码,但当我在我的新网站上尝试这个时,它给了我这个错误: Error: Syntax error, un
在用 Flex 编写 token 生成器时,我遇到了这个恼人的错误:“无法识别的规则” 我的代码是: /* Keywords */ TYPE int|double|bool|char L
我正在测试 Android Pay API。我使用命令生成了公钥 $ openssl ec -in merchant-key.pem -pubout -text -noout 和 echo $PUBL
我有几行代码可以用 Java 读取文件的内容。基本上我使用的是 FileReader 和 BufferedReader。我正在正确阅读这些行,但是,第一行的第一个字符似乎是一个 undefined s
UIView *v2 = ({ UIView *view = [UIView new]; [self.view addSubview:view]; [v
我遇到了一种情况,我有一个用 javascript 编写的表单,它为人们创建个人资料,详细说明了他们的姓名简历等。无论如何,我尝试向此表单添加一些新字段,但我添加的每个新字段都是当我尝试编辑个人资料信
在我的 ViewController 类中,我有一个函数: func updateTimes() { // (code) } 我创建了一个计时器: class ViewController: NS
我正在尝试运行 Behat(对我来说是第一次)并且成功了。 但是我有一个配置问题。我尝试像这样更改功能和 Bootstrap 的路径: #behat.yml default: paths:
我是一名优秀的程序员,十分优秀!