UIBarButtonItem – ‘#selector’的参数不能引用本地函数 – Swift 3
我在创建一个可以调用handleSearch
函数的导航按钮时遇到问题。 我收到一条消息Argument of '#selector' cannot refer to local function
。 任何帮助,将不胜感激!
override func viewDidLoad() { // various code func setupNavBarButtons() { let searchImage = UIImage(named:"search_icon") let searchBarButtonItem = UIBarButtonItem(image: searchImage, style: .plain, target: self, action: #selector(handleSearch(sender:))) navigationItem.rightBarButtonItems = [searchBarButtonItem] } func handleSearch(sender: UIBarButtonItem) { print(123) } }
#selector
只能引用顶级函数,而不能引用本地函数(一个在另一个函数内)。
只需将handleSearch
移出viewDidLoad
解决您的问题。