2016-11-02 2 views
2

Почему я получаю сообщение об ошибке, когда я добавить этот код ?: , 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) 
     } 
    } 
+0

Какую ошибку вы получаете? – dan

+0

@dan 'Type 'myProfileTableViewController не соответствует протоколу' myProfileWorkoutTableViewCellDelegate'' –

+0

Контроллер табличного представления реализует функцию, объявленную в вашем протоколе? – dan

ответ

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 { проверку