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: "Stephen J. Butler" <email@hidden>
- Date: Wed, 01 Jul 2015 18:51:11 -0500
You're focusing on the wrong part :) Which element of your code has a type
of "NSGraphicsContext"? It's cocoaCTX! The compiler error is suggesting you
do one of these:
cocoaCTX?.graphicsPort
cocoaCTX!.graphicsPort
On Wed, Jul 1, 2015 at 6:28 PM, 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
_______________________________________________
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