Avatar
runの中でasyncした方がちょっとだけ綺麗かな
1:02 PM
クラスいらないやつ書いてるので暫しお待ち
1:07 PM
class ViewController: UIViewController { let processingQueue = DispatchQueue(label: "com.kishikawakatsumi.test") override func viewDidLoad() { super.viewDidLoad() processingLoop { (self) in print(self) } } func processingLoop(_ f: @escaping (ViewController) -> ()) { processingQueue.async { [weak self] in while let strongSelf = self { f(strongSelf) } } } }
1:07 PM
できたできた
1:08 PM
while letで弱参照をループごとに引っぺがすことで、永続的なretainを持たないことがミソですね! (edited)