Re: Stupid objective-c question
Re: Stupid objective-c question
- Subject: Re: Stupid objective-c question
- From: Slipp Douglas Thompson <email@hidden>
- Date: Wed, 21 Sep 2016 20:21:35 -0500
> On Sep 21, 2016, at 8:00 PM, Slipp Douglas Thompson <email@hidden> wrote:
>
>> On Sep 21, 2016, at 17:01 , Graham Cox <email@hidden> wrote:
>>>
>>> This should be: if([(NSString*)context isEqualToString:@“mediaLibraryLoaded”])…
>>
>> Actually, this is not a good idea either, because *other* observations — ones you don’t control — might use a value that’s not an object, or not even a valid pointer.
>
I see your point about context plausibly not being neither an NSObject nor nil. While you could check if context is an NSObject beforehand (is there even a reliable way to do this? CocoaWithLove <http://www.cocoawithlove.com/2010/10/testing-if-arbitrary-pointer-is-valid.html> couldn't find a great approach ;-/)— I think coding consistently against all other addObserver: calls in your app is a good-enough solution. I.E. If you implement observeValueForKeyPath: with [context isEqual: …] checks, make sure all the other addObserver: calls (for those same keys, at least) are using nil or NSObjects.
Thoughts?
— Slipp
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden