Re: [swift-users] weak self

2017-05-02 Thread Guillaume Lessard via swift-users
> On May 2, 2017, at 00:05, Rien wrote: > > Interesting: this is a kind-of symmetry break between optionals and weak > references. > I.e. most (inexperienced?) programmers will see a strong similarity between > weak references and optionals. > And for a lot of use cases

Re: [swift-users] weak self

2017-05-02 Thread Chris McIntyre via swift-users
I don’t think there’s any symmetry break. I would argue that forced-unwrapping is rarely a best-practice. The swifty way would be to always use guard let and if let for optionals. Looking through the Swift Programming Language book, the only examples of “if x != nil” I can find just print some

Re: [swift-users] weak self

2017-05-02 Thread Rien via swift-users
Thanks Guillaume, Interesting: this is a kind-of symmetry break between optionals and weak references. I.e. most (inexperienced?) programmers will see a strong similarity between weak references and optionals. And for a lot of use cases they do indeed behave similar. But for weak references I

Re: [swift-users] weak self

2017-05-01 Thread Zhao Xin via swift-users
[weak self] and [unowned self] are used to solve the problem of Strong Reference Cycles Between Class Instances . If you can grantee self won't be nil during

Re: [swift-users] weak self

2017-05-01 Thread Rien via swift-users
> On 01 May 2017, at 17:42, Dennis Weissmann wrote: > >> >> On May 1, 2017, at 5:32 PM, Rien wrote: >> >>> >>> On 01 May 2017, at 16:59, Dennis Weissmann >>> wrote: >>> On May 1, 2017, at 4:46 PM,

Re: [swift-users] weak self

2017-05-01 Thread Dennis Weissmann via swift-users
> On May 1, 2017, at 5:32 PM, Rien wrote: > >> >> On 01 May 2017, at 16:59, Dennis Weissmann wrote: >> >>> >>> On May 1, 2017, at 4:46 PM, Rien via swift-users >>> wrote: >>> >>> In my code I use a lot of queues.

Re: [swift-users] weak self

2017-05-01 Thread Rien via swift-users
> On 01 May 2017, at 16:59, Dennis Weissmann wrote: > >> >> On May 1, 2017, at 4:46 PM, Rien via swift-users >> wrote: >> >> In my code I use a lot of queues. And (very often) I will use [weak self] to >> prevent doing things when ‘self’ is

Re: [swift-users] weak self

2017-05-01 Thread Dennis Weissmann via swift-users
> On May 1, 2017, at 4:46 PM, Rien via swift-users > wrote: > > In my code I use a lot of queues. And (very often) I will use [weak self] to > prevent doing things when ‘self’ is no longer available. > > Now I am wondering: how does the compiler know that [weak self]

Re: [swift-users] weak self

2017-05-01 Thread Adrian Zubarev via swift-users
Not answering the questions, but sharing a neat trick. [weak self] in guard let `self` = self else { return } self.foo() // strong self :) --  Adrian Zubarev Sent with Airmail Am 1. Mai 2017 um 16:46:33, Rien via swift-users (swift-users@swift.org) schrieb: In my code I use a lot of

[swift-users] weak self

2017-05-01 Thread Rien via swift-users
In my code I use a lot of queues. And (very often) I will use [weak self] to prevent doing things when ‘self’ is no longer available. Now I am wondering: how does the compiler know that [weak self] is referenced? I am assuming it keeps a reverse reference from self to the [weak self] in order