我正在尝试使用tableviews做类似radioButton的功能。所以当我尝试将addTarget添加到我在自定义单元格中添加的按钮时,应用程序在运行时崩溃,并显示错误。无法识别的选择器发送到实例0x7fe873052000'我搜索了很多。我在示例按钮上添加了addTarget,并且可以正常工作。但是,这是行不通的。我将在这里发布我的代码,以便大家看看。 预先谢谢你。
我已经尝试了大多数解决方案,以解决此问题。如果有人可以看看。或将我引向任何代码段以实现具有表视图的单选按钮功能,因为我必须在运行时使用从Api处获取的数据进行
Code For Custom Cell Class
import UIKit
class CustomTableViewCell: UITableViewCell {
@IBOutlet weak var drinkName: UILabel!
@IBOutlet weak var radioButton: UIButton!
}
Code For Main View Controller.
import UIKit
class ViewController: UIViewController , UITableViewDelegate,
UITableViewDataSource {
var drinks : [String] = Array()
@IBOutlet weak var tableView: UITableView!
@IBOutlet weak var test: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
drinks.append("Coke")
drinks.append("Sprite")
drinks.append("Fanta")
test.addTarget(self, action: #selector(testing), for: .touchUpInside)
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return drinks.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! CustomTableViewCell
cell.drinkName.text = drinks[indexPath.row]
cell.selectionStyle = .none
cell.radioButton.addTarget(self, action: #selector(pressButton(sender:)), for: .touchUpInside)
return cell
}
@objc func pressButton( sender: UIButton)
{
print("Button Pressed")
//This gives error
}
@objc func testing() {
print("Button Clicked")
//this Add target is working. written it to test
}
}
如果有人可以指出问题所在。或让我参考一些代码片段,了解如何使用表格视图实现单选按钮功能。将不胜感激。