Re: Swift 2 init() with CF types and throws
Re: Swift 2 init() with CF types and throws
- Subject: Re: Swift 2 init() with CF types and throws
- From: Rick Mann <email@hidden>
- Date: Wed, 01 Jul 2015 16:46:56 -0700
I think I figured this out. graphicsPort does not return an Optional type. I guess the only way to know that is via Xcode's Code Completion, is that right? Oh, the docs seem to show it, too (assuming it can find either).
Sorry for the noise.
> On Jul 1, 2015, at 16:28 , Rick Mann <email@hidden> wrote:
>
> I'm trying to do this:
>
> class
> Context
> {
> init()
> throws
> {
> let cocoaCTX = NSGraphicsContext.currentContext()
> guard let sysCTX = cocoaCTX.graphicsPort as! CGContextRef else { throw Errors.InvalidContext }
> CGContext = sysCTX;
> }
>
> var CGContext : CGContextRef
> }
>
>
> But I'm getting
>
> error: value of optional type 'NSGraphicsContext?' not unwrapped; did you mean to use '!' or '?'?
> guard let sysCTX = cocoaCTX.graphicsPort as! CGContextRef else { throw Errors.InvalidContext }
> ^
> !
> In the typical if-let, you don't add the ?. If I do add the ?, I get:
>
> error: '_??' is not convertible to '_??'
> guard let sysCTX = cocoaCTX.graphicsPort? as! CGContextRef else { throw Errors.InvalidContext }
> ~~~~~~~~~~~~~~~~~~~~~^
>
> Errors is an enum I created in a different file.
>
> I always seem to trip up on the conditional optional unwrapping. Not sure what I'm doing wrong here. Help is much appreciated. Thanks!
>
> --
> Rick Mann
> 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
--
Rick Mann
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