示例说明:开启一个定时器,然后每隔一秒钟加1秒,直到60秒
变量声明
//声明一个定时器变量var timer: Timer?var currentSeconds: Int = 0weak 方式
func testTimer(){ weak var weakSelf : CurrentController? = self timer = Timer.scheduledTimer(withTimeInterval: 1.0,repeats: true,block: { _ in weakSelf?.currentSeconds += 1 if weakSelf?.currentSeconds == 60{ weakSelf?.timer?.invalIDate() weakSelf?.timer = nil } }) }[weak self] 方式
func testTimer(){ timer = Timer.scheduledTimer(withTimeInterval: 1.0,repeats: true,block: {[weak self] (_) in self?.currentSeconds += 1 if self?.currentSeconds == 60{ self?.timer?.invalIDate() self?.timer = nil } }) }[uNowned self] 方式
func testTimer(){ timer = Timer.scheduledTimer(withTimeInterval: 1.0,block: {[uNowned self] (_) in self.currentSeconds += 1 if self.currentSeconds == 60{ self.timer?.invalIDate() self.timer = nil } }) }总结
以上是内存溢出为你收集整理的Swift 闭包中循环引用解决方式全部内容,希望文章能够帮你解决Swift 闭包中循环引用解决方式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)