override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor(netHex: 0xfc3158)
fadeBackground()
NSTimer.scheduledTimerWithTimeInterval(self.fadeTime, target: self, selector: Selector("fadeBackground"), userInfo: nil, repeats: true)
}
func fadeBackground(){
UIView.animateWithDuration(self.fadeTime, delay: 0, options: UIViewAnimationOptions.AllowUserInteraction, animations: {
var randomIndex = Int(arc4random_uniform(UInt32(CONSTANTS.MainColorScheme.count)))
self.view.backgroundColor = CONSTANTS.MainColorScheme[randomIndex]
}) { (stuff Bool) -> Void in
}
}
我有点困惑为什么我需要使用[无主的自我]。根据{{3}},我应该只使用[无主自我],如果我不在乎在关闭被称为时自我仍然存在。但我永远不明白为什么会出现这种情况。如果自己在身边,为什么我不关心?在调用闭包时我希望自己能够出现 - 这就是我在那里编写代码的原因。
我是否需要animations
关闭中无主的自我?
答案 0 :(得分:3)
在这种情况下,您不需要使用捕获列表,因为两个闭包都是UIView
而不是self
保留。您的示例中未创建保留周期。