我有一個擴展方法通過使用CAShapeLayer到一個動畫邊框添加到圖像視圖,這是我實現:Swift函數變量需要弱引用嗎?
extension UIImageView {
func addAnimatedBorder() {
let border = CAShapeLayer()
//...setup animation
border.position = self.center
self.layer.addSublayer(border)
}
}
由於CAShapeLayer被引用的UIImageView(通過其位置),並且的UIImageView具有CAShapeLayer如一層,我擔心會有一個保留週期。
我需要聲明「邊界」 - CAShapeLayer - 弱嗎?或者一旦函數執行後它會超出範圍,只留下UIImageView中對象的唯一引用?
@Hamish是的,複製粘貼錯誤:)謝謝。 – mcfroob