> On Jun 30, 2017, at 11:47 AM, Mike Ferenduros via swift-users > <swift-users@swift.org> wrote: > > I'm doing a RAII sort of thing with an object, and would like to keep it > alive until an completion-block is called (asynchronously). > > Is it sufficient to say '_ = x' in the completion-block to keep a live > reference to the object? > > I was told that the optimiser is free to discard this line, and thus the > object could be freed prematurely depending on how the code is compiled. If > so, is there an idiomatic way to do this? Or should I just avoid RAII in > Swift?
`withExtendedLifetime(x) { ... }` is the supported way of extending the lifetime of an object. -Joe _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users