私はこれを100回調査しましたが、私の問題に対する答えはまだ見つかりません。私は非常に単純なプロトコルを持っていますが、それは常にnil
です。私はperiodDelegate = self
を追加しようとしましたが、エラーが発生しますCannot assign value of type 'ScoreClockPopoverViewController' to type 'PeriodDelegate!'
私は同じセットアップを使用して、うまく動作する他のプロトコルを持っています。スウィフトデリゲートプロトコルはゼロです
私には何が欠けていますか?
ありがとうございます!私が呼び出す必要が
import UIKit
protocol PeriodDelegate {
func changePeriodButtonImage(selectedPeriod: Period)
}
class ScoreClockPopoverViewController: UIViewController {
//delegate
var periodDelegate: PeriodDelegate!
override func viewDidLoad() {
super.viewDidLoad()
print("viewDidLoad/periodDelegate \(String(describing: periodDelegate!))")
}
}
機能は、すべてのUICollectionViewCell`
class HeaderCollectionViewCell: UICollectionViewCell {
override func awakeFromNib() {
super.awakeFromNib()
...
}
extension HeaderCollectionViewCell: PeriodDelegate {
func changePeriodButtonImage(selectedPeriod: Period) {
print("blah")
switch selectedPeriod {
case .first:
print("first")
case .second:
print("second")
case .third:
print("third")
case .overtime:
print("overtime")
case .shootout:
print("shootout")
}
}
}
デリゲートをViewController用ではないセルに一致させようとします。 –
デリゲートをクラスに限定して弱くします。 – the4kman
あなたのUICollectionViewのコントローラはありますか? – Michel