选择器和@objc错误再次出现......

时间:2017-06-10 11:09:39

标签: swift selector

我已经多次面对这个问题了,我无法解决它的问题。

以下是代码:

struct dataSource {
    let menu = MenuView()
    static var array = NSArray(contentsOfFile: Bundle.main.path(forResource: "Australie", ofType: "plist")!)!

    init() {
    }

    func getDicoSection(sectionNumber: Int) -> NSDictionary {
        var dico = NSDictionary()
        dico = dataSource.array[sectionNumber] as! NSDictionary
        return dico
    }

    func getNumberOfRootSections() -> Int {
        return dataSource.array.count
    }

    func setMenu(delegate: MenuViewDelegate, menuView: MenuView, rootView: UIView, navigationController: UINavigationController, navigationItem: UINavigationItem) {
        let menuButton = UIBarButtonItem(title: "test", style: .plain, target: self, action: #selector(dataSource.menuButtonSelected))
        navigationController.navigationBar.isTranslucent = false // permet de faire en sorte que la view ne soit pas derrière la navigationBar
        navigationController.navigationBar.barTintColor = UIColor.red
        navigationItem.rightBarButtonItem = menuButton
        print(menuButton)
        MenuView().delegate = delegate
        rootView.addSubview(menu)
        menu.backgroundColor = UIColor.lightGray
    }

    func menuButtonSelected() {
        print("OK")
    }
}

在我的按钮上,我为按下时要调用的动作添加一个选择器。这是一个简单的打印(“OK”)。

然而,Swift要我把@objc放在我的方法前面。为什么?我完全不知道为什么。但我对XCode很有弹性,所以我服从了。我添加@objc。但正如您所看到的,它根本无法解决任何问题:https://drive.google.com/open?id=0B-AByLCqlbVBcG95SFhTOE1sMzA

我想我会在那之后去精神诊所。

0 个答案:

没有答案