发件人:按下 UIBarButtonItem 时 AnyObject 崩溃
Sender: AnyObject crashes when UIBarButtonItem is pressed
我无法理解如何创建 BarButtonItem
并将发件人设置为 AnyObject。我以编程方式创建了一个 BarButtonItem
并尝试将发件人设置为任何对象,但是当按下按钮时应用程序崩溃了。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
var toggle = UIBarButtonItem(title: "Settings", style: UIBarButtonItemStyle.Plain, target: self, action: "toggleSideMenu")
self.navigationItem.leftBarButtonItem = toggle
}
func toggleSideMenu(sender: AnyObject) {
toggleSideMenuView()
}
那个"selector"有个参数,所以应该是:
action: "toggleSideMenu:"
^
此外,方法本身需要一个 @objc
注释,我很确定 sender
是可选的,所以:
@objc func toggleSideMenu(sender: AnyObject?) {
toggleSideMenuView()
}
我无法理解如何创建 BarButtonItem
并将发件人设置为 AnyObject。我以编程方式创建了一个 BarButtonItem
并尝试将发件人设置为任何对象,但是当按下按钮时应用程序崩溃了。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
var toggle = UIBarButtonItem(title: "Settings", style: UIBarButtonItemStyle.Plain, target: self, action: "toggleSideMenu")
self.navigationItem.leftBarButtonItem = toggle
}
func toggleSideMenu(sender: AnyObject) {
toggleSideMenuView()
}
那个"selector"有个参数,所以应该是:
action: "toggleSideMenu:"
^
此外,方法本身需要一个 @objc
注释,我很确定 sender
是可选的,所以:
@objc func toggleSideMenu(sender: AnyObject?) {
toggleSideMenuView()
}