TableView单元元素上的AddTarget函数不起作用(无法识别的选择器发送到实例)

时间:2019-01-10 18:41:31

标签: ios uitableview swift4.2

我正在尝试使用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
}

}

如果有人可以指出问题所在。或让我参考一些代码片段,了解如何使用表格视图实现单选按钮功能。将不胜感激。

0 个答案:

没有答案