Even I agree with Josh and agree from the very beginning that there is no reason to weaken self , if it is not necessary (the block is not held by the reference object), in the past most weak self by default. (I think most are changing.)
However, there may be a reason for loosening self , even if there is no save loop:
An image in which you have an instance object filled with a long block. Perhaps the instance object will die while the block is running, i.e. e. because the user deleted it. In this case, the block will populate the instance object, which is no longer used, and left your model, but is still alive, because the block holds it. By loosening it, it will free it and set the captured self to nil , which is easy to verify and usually just does nothing.
But I really don’t think and never thought that this scenario justifies the rule of thumb “Weakify by default”.
source share