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) Pulling Data From the Web Fetching JSON Data

Carlos Lagares
Carlos Lagares
4,332 Points

courseURL

I am trying to retrieve data from the treehouse API and store it on courseData on one of the challenges but I must be missing something because is not working

students_code.swift
import Foundation
let treehouseBaseURL = NSURL(string: "https://api.teamtreehouse.com/")
let courseURL = NSURL(string: "/course/\(courseID)", relativeToURL: treehouseBaseURL)
let courseData = NSData.dataWithContentsOfURL(courseURL, options: nil , error: nil)

1 Answer

Stone Preston
Stone Preston
42,016 Points

the teachers notes of this video state:

This course uses Xcode 6.0.1 and since its release, Xcode has been updated to Xcode 6.1. In the process some changes have been made to the APIs we work with in this course and in this particular video, the use of the NSData class initializer has been modified from

NSData.dataWithContentsOfURL(url: NSURL, options: NSDataReadingOptions, error: NSErrorPointer)

to

NSData(contentsOfURL: NSURL, options: NSDataReadingOptions, error: NSErrorPointer)

Since the challenge has been updated to use the new way of doing it, you just need to change your code to use the NSData initializer:

import Foundation
let treehouseBaseURL = NSURL(string: "https://api.teamtreehouse.com/")
let courseURL = NSURL(string: "/course/\(courseID)", relativeToURL: treehouseBaseURL)

let courseData = NSData(contentsOfURL: courseURL, options: nil, error: nil)