gpt4 book ai didi

ios - 在这个闭包中我需要 [unowned self] 还是 [weak self]?

转载 作者:可可西里 更新时间:2023-11-01 01:06:04 25 4
gpt4 key购买 nike

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
}
}

我对为什么需要使用 [unowned self] 有点困惑。根据this answer ,如果我不关心在调用闭包时 self 是否仍然存在,我应该只使用 [unowned self]。但我从来不明白为什么会这样。为什么我关心自己是否在身边?我希望在调用闭包时 self 在附近——这就是我在那里编写代码的原因。

animations 闭包中是否需要 unowned self?

最佳答案

在这种情况下你不需要使用捕获列表,因为两个闭包都是UIView 并且不是由self 保留的。您的示例中未创建保留周期。

关于ios - 在这个闭包中我需要 [unowned self] 还是 [weak self]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29840048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com