如何使用自定义按钮在 tableview 单元格中附加和删除选定的行单元格?
How to append and remove selected row cells in tableview cell with a custom button?
protocol MealCellDelegate: AnyObject {
func didSelect(cell: MealCell)
}
class MealCell: UITableViewCell {
var delegate: MealCellDelegate?
@IBOutlet weak var checkBtn : UIButton!
}
我有一个用于 select 函数的 UITableViewCell
我有一个如下所示的 UIViewController。
class MealSearchViewController: UIViewController {
@IBOutlet weak var tableview : UITableView!
tableview.delegate = self
}
extension MealSearchViewController: MealCellDelegate {
func didSelect(cell: MealCell) {
if let indexPath = tableview.indexPath(for: cell) {
let selectedItem = meals[indexPath.row]
selectedMeals.append(selectedItem)
}
}
}
但是这段代码不起作用。
我想在单击检查按钮时附加到一个空数组(它的状态是 selected)
当我 deselect 那个按钮时,我从数组中删除。
请帮助我
小区代码:
protocol MealCellDelegate: AnyObject {
func didSelect(cell: MealCell)
}
class MealCell: UITableViewCell {
var delegate: MealCellDelegate?
@IBOutlet weak var checkBtn: UIButton!
@IBAction func buttonClicked() {
delegate?.didSelect(cell: self)
}
}
UIViewController 代码:
class MealSearchViewController: UIViewController {
@IBOutlet weak var tableView : UITableView!
override func viewDidLoad() {
tableView.dataSource = self
}
}
extension MealSearchViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
cell = *create meal cell*
cell.delegate = self
return cell
}
}
extension MealSearchViewController: MealCellDelegate {
func didSelect(cell: MealCell) {
*it calls after you press button in cell*
}
}
protocol MealCellDelegate: AnyObject {
func didSelect(cell: MealCell)
}
class MealCell: UITableViewCell {
var delegate: MealCellDelegate?
@IBOutlet weak var checkBtn : UIButton!
}
我有一个用于 select 函数的 UITableViewCell
我有一个如下所示的 UIViewController。
class MealSearchViewController: UIViewController {
@IBOutlet weak var tableview : UITableView!
tableview.delegate = self
}
extension MealSearchViewController: MealCellDelegate {
func didSelect(cell: MealCell) {
if let indexPath = tableview.indexPath(for: cell) {
let selectedItem = meals[indexPath.row]
selectedMeals.append(selectedItem)
}
}
}
但是这段代码不起作用。 我想在单击检查按钮时附加到一个空数组(它的状态是 selected) 当我 deselect 那个按钮时,我从数组中删除。 请帮助我
小区代码:
protocol MealCellDelegate: AnyObject {
func didSelect(cell: MealCell)
}
class MealCell: UITableViewCell {
var delegate: MealCellDelegate?
@IBOutlet weak var checkBtn: UIButton!
@IBAction func buttonClicked() {
delegate?.didSelect(cell: self)
}
}
UIViewController 代码:
class MealSearchViewController: UIViewController {
@IBOutlet weak var tableView : UITableView!
override func viewDidLoad() {
tableView.dataSource = self
}
}
extension MealSearchViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
cell = *create meal cell*
cell.delegate = self
return cell
}
}
extension MealSearchViewController: MealCellDelegate {
func didSelect(cell: MealCell) {
*it calls after you press button in cell*
}
}