我收到以下错误
在此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
最佳答案
正如@Doc在上面的评论中提到的,解决方案是替换
class StarButton: UIButton {
和
class StarButton: UIButton, CAAnimationDelegate {
似乎不再暗示CAAnimationDelegate协议(protocol),必须明确指定它。
关于ios - 在Swift 3中设置CABasicAnimation委托(delegate)问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38648000/