12
我收到以下錯誤問題在Swift 3中設置CABasicAnimation委託?
無法分配型「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以前的版本中不是問題...有關解決方案的任何建議?
UPDATE
這裏是可下載鏈接到源文件的StarButton類最佳參考:
https://www.dropbox.com/s/gvc2sky05f4p3au/StarButton.swift?dl=0
你確定它符合委託協議嗎? – Fogmeister
Apple Docs中的'UIButton'(https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIButton_Class/)不符合'CAAnimationDelegate'。你有沒有明確說你的子類是一個代表?請參閱http://stackoverflow.com/questions/24024466/how-do-i-make-a-class-conform-to-a-delegate-in-swift – Doc
@Fogmeister這是我抓取的一個開源組件的一部分&檢查完文件後,它似乎沒有任何協議..但是,這工作得很好2.xx –