将单元委托添加到类 - swift时出错

时间:2016-11-02 16:50:48

标签: ios swift delegates

当我添加此代码时,为什么会出现错误?: , myProfileWorkoutTableViewCellDelegate

到我的班级?:

class myProfileTableViewController: UITableViewController, UICollectionViewDataSource, UICollectionViewDelegate, myProfileWorkoutTableViewCellDelegate {

这是我的myProfileTableViewCell.swift

的开头
import UIKit
import Firebase
import FirebaseDatabase

protocol myProfileWorkoutTableViewCellDelegate {
    func watchTrainingPressed(cell: myProfileWorkoutTableViewCell)
}

class myProfileWorkoutTableViewCell: UITableViewCell {

这是我在单元格内的按钮:

@IBAction func watchTrainingPressed(sender: AnyObject) {
        if let _ = delegate {
            delegate?.watchTrainingPressed(self)
        }
    }

2 个答案:

答案 0 :(得分:3)

您需要实现功能

func watchTrainingPressed(cell: myProfileWorkoutTableViewCell)

myProfileTableViewController课程内。

答案 1 :(得分:1)

您需要确保在课程myProfileWorkoutTableViewCellDelegate的顶部添加myProfileTableViewController以及所有非可选功能。

class myProfileTableViewController:UIViewController, myProfileWorkoutTableViewCellDelegate {

     // viewDidLoad etc....

    //MARK: - myProfileWorkoutTableViewCellDelegate

    func watchTrainingPressed(cell: myProfileWorkoutTableViewCell) {

          print("code goes here")
    }
}

值得指出,因为您的代表是可选的delegate?.您不需要if let _ = delegate {支票