• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: More Xcode 7 inconsistency?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: More Xcode 7 inconsistency?


  • Subject: Re: More Xcode 7 inconsistency?
  • From: email@hidden
  • Date: Thu, 07 Jan 2016 16:19:06 +0900

At runtime all bets are off anyway.
Nullability is a compile time constraint for Objective-C and a helper for Swift overlays.
You can still pass an object in runtime in Objective-C.
It's up to the receiver to handle it.



Sent from my iPhone

> On Jan 7, 2016, at 1:32 PM, Shane Stanley <email@hidden> wrote:
>
>> On 14 Oct 2015, at 2:27 PM, Shane Stanley <email@hidden> wrote:
>>
>>> On 14 Oct 2015, at 1:33 PM, Graham Cox <email@hidden> wrote:
>>>
>>> I’ve been passing nil forever, only now does Xcode 7 complain, presumably because only now is the _Nonnull attribute added. But either the documentation or the addition of _Nonnull is wrong.
>>
>> FWIW, I've had an open bug on this since July (#21667200). You might also notice the docs say "dict can be nil", and there isn't a "dict" to be seen (presumably it means docAttributes).
>
> Coming back to this, my bug has just been closed, with a pointer to:
>
> <https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSAttributedString_AppKitAdditions/index.html#//apple_ref/doc/uid/TP40004007>
>
> And sure enough, where it once said:
>
> - (NSData * nullable)RTFFromRange:(NSRange)aRange
>              documentAttributes:(NSDictionary<NSString *,
>                                          id> * nonnull)docAttributes
>
> it now says:
>
> - (NSData *)RTFFromRange:(NSRange)aRange
>      documentAttributes:(NSDictionary<NSString *,
>                                  id> *)docAttributes
>
>
> The description is unchanged:
>
>> If there are no document-level attributes, dict can be nil.
>
> Great.
>
> However, when I look at the .h file, it's all wrapped in NS_ASSUME_NONNULL_BEGIN, and using the method with nil prompts exactly the same warning. So the contradiction between the documentation and actual behavior still stands, just not so obviously.
>
> All of which led me to also look at this in the same document:
>
> - (instancetype)initWithRTFD:(NSData *)rtfdData
>          documentAttributes:(NSDictionary<NSString *,
>                                      id> * _Nullable *)docAttributes
>
>
> for which the .h file (Xcode 7.2) actually says:
>
> - (nullable instancetype)initWithRTF:(NSData *)data documentAttributes:(NSDictionary<NSString *, id> * __nullable * __nullable)dict;
>
> Am I just being a pedant or is this all a bit hopeless?
>
>
> --
> Shane Stanley <email@hidden>
> <www.macosxautomation.com/applescript/apps/>
>
>
> _______________________________________________
>
> 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

_______________________________________________

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


References: 
 >Re: More Xcode 7 inconsistency? (From: Shane Stanley <email@hidden>)

  • Prev by Date: Re: More Xcode 7 inconsistency?
  • Next by Date: Re: making a pronunciation dictionary for Voiceover on the iphone
  • Previous by thread: Re: More Xcode 7 inconsistency?
  • Next by thread: Best Place to Store Config Files on Mac
  • Index(es):
    • Date
    • Thread