Re: Strange Analyser Warning/Error
Re: Strange Analyser Warning/Error
- Subject: Re: Strange Analyser Warning/Error
- From: Steve Sisak <email@hidden>
- Date: Mon, 08 Feb 2016 11:09:10 -0500
On Feb 8, 2016, at 10:01 AM, Ken Thomases <email@hidden> wrote:
>>>
>>> In the case where you do not see a warning, you are calling -[NSDictionary objectForKey:] which accepts a nil key value (returning nil).
>>
>> Ahhhhh, for some reason I thought that is was illegal to pass a nil key to objectForkey:
>
> It is illegal. Michael is incorrect. In general, when a method accepts an object pointer argument, it is illegal to pass nil unless it's specifically documented to be legal.
The nil key pointer is a red herring. -[NSDictionary objectForKey:] can return nil if the dictionary doesn’t contain a value for the key.
The analyser is correctly flagging that the code doesn’t handle this case.
I suspect the reason that this started recently is that Apple recently started annotation the Cocoa headers as to what can and can’t accept/return nil in support of Swift.
HTH,
-Steve
_______________________________________________
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