inout
なのかもよくわかんないんだけど、とりあえずそれのおかげで↑の asyncAfter
に渡すのはコンパイラが防いでくれる。inout
の out
の除いたようなものがほしいなぁと。fooAsync { [weak self] in guard let zelf = self else { return } zelf.foo(...) barAsync { [weak zelf] in // ←この [weak zelf] を忘れないようにしたい guard let zelf = zelf else { return } zelf.bar(...) } }