self is neither weak nor strong. If you can access self , then you are in the scope of the method call, and this method call is made by someone through a link that they must own. self implied as a valid link as long as it is in scope, and it is understood that any memory management or ownership is handled by the caller.
When calling a method through a weak link, ARC will save the object for the duration of the call to this method (see this answer ). With the strict compiler warning turned on, you really will be forced to create a strong link before sending any methods to this link.
Therefore, by definition, if a method is called on an object, the caller must have ownership, and nothing needs to be done.
Of course, in the end, you can call the calling methods on the freed objects, but this is the result of a bad caller code.
source share