我有一些相当简单的代码,并试图弄清楚uibarbuttonitem为什么不触发选择器:
TableView的viewDidLoad
方法:
override func viewDidLoad() {
super.viewDidLoad()
// Uncomment the following line to preserve selection between presentations
self.clearsSelectionOnViewWillAppear = false
// this line adds a button to top right
let addNewChecklistItemButton = UIBarButtonItem(barButtonSystemItem: .add,
target: nil,
action: #selector(self.addNewChecklistItemToDataModel))
self.navigationItem.rightBarButtonItem = addNewChecklistItemButton
}
方法称为:
@objc func addNewChecklistItemToDataModel() {
print("adding new item...")
<...>
}
正在添加按钮(在我放入此代码之前不可见),当我按下按钮时,单击按钮会设置动画,但控制台不会显示打印的文本。
阅读UIBarButtonItem selector not working之后,我想知道我的UITableViewController
嵌入在UITabViewController
和UINavigationViewController
中的事实是否影响按钮的范围?如果没有,有人看到我想念的东西吗?
答案 0 :(得分:1)
目标不应为空
let addNewChecklistItemButton = UIBarButtonItem(barButtonSystemItem: .add,
target: self,
action: #selector(self.addNewChecklistItemToDataModel))