Ich erhalte die folgenden FehlerProblem Einstellung CABasicAnimation Delegate in Swift 3?
Wert kann nicht vom Typ zuzuweisen ‚StarButton‘ eingeben ‚CAAnimationDelegate?‘
in der letzten Zeile dieses CABasicAnimation Block:
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
ist eine benutzerdefinierte UIButton Klasse. In früheren Versionen von Swift war das kein Problem ... irgendwelche Vorschläge zu einer Lösung?
UPDATE
Hier ist eine herunterladbare Link auf die Quelldatei für die StarButton Klasse für beste Referenz:
https://www.dropbox.com/s/gvc2sky05f4p3au/StarButton.swift?dl=0
Sind Sie sicher, dass es dem Delegate-Protokoll entspricht? – Fogmeister
'UIButton' aus den Apple-Dokumenten (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIButton_Class/) stimmt nicht mit' CAAnimationDelegate' überein. Haben Sie explizit gesagt, dass Ihre Unterklasse ein Delegierter war? Siehe http://stackoverflow.com/questions/24024466/how-do-i-make-a-class-conform-to-a-delegate-in-swift – Doc
@ Fogmeister Nun, das ist Teil einer Open-Source-Komponente, die ich packte & nach der Untersuchung der Datei scheint es keine Protokolle zu haben .. aber das funktionierte einwandfrei in Swift 2.xx –