Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS Build a Weather App with Swift (Retired) Concurrency Using Our JSON Data

Value of optional type 'NSURL?' not unwrapped, did you mean to use '!' or '?'?

For some reason, after taking a break between sections, my code is no longer compiling. I did update to Xcode 6.1 too.

I'm getting the error in the title, and the code it points to is "forecastURL" in "sharedSession.downloadTaskWithURL(forecastURL"

Here is the code:

private let apiKey = "myAPIgoeshere"

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    let baseURL = NSURL(string:"https://api.forecast.io/forecast/\(apiKey)/")
    let forecastURL = NSURL(string:"-37.722143,145.131020", relativeToURL: baseURL)

    let sharedSession = NSURLSession.sharedSession()
    let downloadTask: NSURLSessionDownloadTask =
    sharedSession.downloadTaskWithURL(forecastURL,
        completionHandler: { (location: NSURL!, response:
        NSURLResponse!, error: NSError!) -> Void in

            var urlContents = NSString (contentsOfURL: location, encoding: NSUTF8StringEncoding, error: nil)

    })
    downloadTask.resume()

I'm pretty sure the update to Xcode 6.1 updated Swift and broke compatibility. So the code in the videos no longer works.