线程 1:“-[Xylophone.ViewController buttonClicked:]:无法识别的选择器发送到实例 0x7ff83a6074e0”
Posted
技术标签:
【中文标题】线程 1:“-[Xylophone.ViewController buttonClicked:]:无法识别的选择器发送到实例 0x7ff83a6074e0”【英文标题】:Thread 1: "-[Xylophone.ViewController buttonClicked:]: unrecognized selector sent to instance 0x7ff83a6074e0" 【发布时间】:2020-09-29 09:20:34 【问题描述】:Exception NSException * "-[Xylophone.ViewController buttonClicked:]: 无法识别的选择器发送到实例 0x7faa47409400" 0x0000600002148690
我正在尝试制作一个木琴应用程序,其中的按钮可以播放不同的声音,有 7 个按钮,但只有第一个按钮不起作用,所有其他按钮都起作用。在按下第一个按钮时应用程序崩溃。
代码如下:
import UIKit
import AVFoundation
class ViewController: UIViewController
var player: AVAudioPlayer!
override func viewDidLoad()
super.viewDidLoad()
@IBAction func keyPressed(_ sender: UIButton)
playSound(soundName: sender.currentTitle!)
func playSound(soundName:String)
let url = Bundle.main.url(forResource: soundName, withExtension: "wav")
player = try! AVAudioPlayer(contentsOf: url!)
player.play()
这里有什么问题?
【问题讨论】:
您之前定义了一个名为buttonClicked
的方法,现在它已重命名为keyPressed:
,不是吗?但是您在 Storyboard 中使用以前的名称创建了链接。所以撤消链接,然后重做。
非常感谢,一切正常!!
【参考方案1】:
我遇到了同样的问题,我是这样解决的:
右键单击Main.storyboard
中的每个按钮,然后在小菜单中检查它的连接,如下所示:
当我有多个连接时,它给了我这个错误。
【讨论】:
以上是关于线程 1:“-[Xylophone.ViewController buttonClicked:]:无法识别的选择器发送到实例 0x7ff83a6074e0”的主要内容,如果未能解决你的问题,请参考以下文章
Java 并发编程 -- 并发编程线程基础(线程创建与运行线程通知与等待join / sleep / yield方法线程中断线程上下文切换死锁守护线程与用户线程ThreadLocal)
Java 并发编程 -- 并发编程线程基础(线程创建与运行线程通知与等待join / sleep / yield方法线程中断线程上下文切换死锁守护线程与用户线程ThreadLocal)