Ios 另一个但具体的播放/暂停问题

Ios 另一个但具体的播放/暂停问题,ios,swift,uibarbuttonitem,Ios,Swift,Uibarbuttonitem,我正在尝试在一个简单的秒表应用程序的工具栏中实现播放/暂停和停止按钮。请参阅第页的代码,我正在经历奇怪的行为:起初,播放按钮什么也不做。如果单击停止按钮,图标将消失,然后播放/暂停切换并正常工作。建议?我正在使用最新的swift和Xcode,在这两行中,目标应该是self(而不是nil): var playButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: nil, action: S

我正在尝试在一个简单的秒表应用程序的工具栏中实现播放/暂停和停止按钮。请参阅第页的代码,我正在经历奇怪的行为:起初,播放按钮什么也不做。如果单击停止按钮,图标将消失,然后播放/暂停切换并正常工作。建议?我正在使用最新的swift和Xcode,在这两行中,目标应该是self(而不是nil):

var playButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: nil, action: Selector("playButtonPressed"))

var pauseButton = UIBarButtonItem(barButtonSystemItem:
    UIBarButtonSystemItem.Pause, target: nil, action: Selector("pauseButtonPressed"))
EDIT(基于注释):您应该将这些行移到init()中,因为您不能在以这种方式初始化的var中使用self进行初始化

var playButton: UIBarButtonItem!
var pauseButton: UIBarButtonItem!

required init?(coder aDecoder: NSCoder) {
   super.init(coder: aDecoder)
   playButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: self, action: Selector("playButtonPressed"))
   pauseButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Pause, target: self, action: Selector("pauseButtonPressed"))
}

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    let toolBarItems = [playButton]
    toolbar.setItems(toolBarItems, animated: false)
}

因为你从一开始就没有添加这些,我怀疑你的故事板上还有一个按钮没有连接到任何东西。然后在第一次呼叫停止时替换它们。

您可以将您的代码与其他在诸如Ray's one等博客上发布的代码进行比较,而不是在这里询问。请不要在外部链接到代码——这些网站往往会消失——将相关代码放入问题中。我只有两个条形按钮项:播放和停止。如果我将目标中的nil替换为self:(!)
无法将“NSObject->()->ViewController”类型的值转换为预期的参数类型“AnyObject?”
我添加了更多信息--将var初始化移到init()以便您可以访问self。谢谢,Lou。我试图将它们移动到init()中,但不知道如何正确执行。-抱歉,我只是在学习Swift的第3天。用你的代码更新你的问题(不在链接的另一边),只需将它粘贴到问题中。我输入了一些示例代码——我没有检查它——如果它出现错误,请仔细阅读并尝试修复。如果你不能——用特定的代码、错误文本和你尝试的内容提出一个不同的问题。