我收到以下错误



在此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/

10-09 16:04