What does the CLANG_WARN_OBJC_RECEIVER_WEAK warning protect us from?
What does the CLANG_WARN_OBJC_RECEIVER_WEAK warning protect us from?
- Subject: What does the CLANG_WARN_OBJC_RECEIVER_WEAK warning protect us from?
- From: David Hoerl <email@hidden>
- Date: Tue, 25 Feb 2014 10:23:52 -0500
I was perusing my warning options in Xcode, looking for
"-Wunreachable-code" (which does not appear as a selectable option),
when I saw this option in the "Objective C and ARC" options list:
CLANG_WARN_OBJC_RECEIVER_WEAK
Description: Warn about sending messages to Objective-C pointers
that are __weak. This aids in avoiding situations (e.g., race
conditions) when the last strong reference goes away and a client is
messaging a __weak pointer that can suddenly (and unexpectedly)
become nil.
[CLANG_WARN_OBJC_RECEIVER_WEAK, -Wreceiver-is-weak]
My understanding from reading previous posts here was that if I use a
weak object as a message receiver, that essentially that object is
retained when the message is sent, and unretained when it returns - thus
insuring that the object is kept alive while used within the method.
Did I misunderstand this - can an object "disappear" in the middle of a
method? If the answer is no, then why the warning? A sister warning,
"CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK", warns on repeated use of a weak
object within a method.
David
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden