【发布时间】:2016-10-25 14:35:58
【问题描述】:
我有这个代码:
myThreadTemp = Thread(target: self, selector: #selector(threadMain), object: nil)
@objc func threadMain(data: AnyObject) {
let runloop = RunLoop.current
runloop.add(NSMachPort(), forMode: RunLoopMode.defaultRunLoopMode)
while !Thread.current.isCancelled{
//foreground
DispatchQueue.main.async {[weak self] in
self?.somemethod()
self?.somevar = 1
print("tick")
}
if Thread.current.isCancelled {
}
Thread.sleep(forTimeInterval: 1.0)
}
runloop.run(mode: RunLoopMode.defaultRunLoopMode, before: NSDate.distantFuture)
}
或者我可以这样做:
DispatchQueue.main.async {
self.somemethod()
self.somevar = 1
print("tick")
}
我看到了这个:
Shall we always use [unowned self] inside closure in Swift
但是如果@objc func被使用了吗?
【问题讨论】:
标签: swift grand-central-dispatch weak-references