我设法创建了一个UIActivityIndicatorView
扩展名,用于将其animating
旋转为开始和停止。但是,我想通过使用computed property
和get
使用bool类型的set
使其更好。我已经尝试过,但是想不出办法。我该如何重构。
extension UIActivityIndicatorView {
func loadingIndicator(_ isLoading: Bool) {
if isLoading {
self.startAnimating()
} else {
self.stopAnimating()
}
}
}
答案 0 :(得分:1)
您可以将isAnimating
的{{1}}属性用作UIActivityIndicatorView
的备用值。您只需要确保可以在设置器中正确控制动画的开始/停止,就可以设置isLoading
,结果isAnimating
也可以正确设置。
isLoading
答案 1 :(得分:1)
您可以通过以下方式优化代码:
extension UIActivityIndicatorView {
var isLoading:Bool {
get {
return isAnimating
} set {
newValue ? startAnimating() : stopAnimating()
}
}
}