Настройка проблемы CABasicAnimation делегат в Swift 3?
Я получаю следующую ошибку
Невозможно присвоить значение типа "StarButton" для ввода "CAAnimationDelegate"?
на последней строке этого блока CABasicAnimation:
let fillCircle = CABasicAnimation(keyPath: "opacity")
fillCircle.toValue = 0
fillCircle.duration = 0.3
fillCircle.setValue(notFavoriteKey, forKey: starKey)
fillCircle.delegate = self // this is where the error is thrown
self
является обычным классом UIButton. Это не проблема в предыдущих версиях Swift... любые предложения по решению?
ОБНОВИТЬ
Ниже приведена загружаемая ссылка на исходный файл для класса StarButton для лучшей ссылки:
https://www.dropbox.com/s/gvc2sky05f4p3au/StarButton.swift?dl=0
Ответы
Ответ 1
Как упоминалось в комментариях к @Doc, решение заключается в замене
class StarButton: UIButton {
с
class StarButton: UIButton, CAAnimationDelegate {
Казалось бы, протокол CAAnimationDelegate больше не подразумевается и должен быть указан явно.