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 trialbeven nyamande
9,575 Pointsios networking
i have assigned the constant "courseData" but am still getting an error where am i going wrong?
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
42,016 Pointsthe method you are calling is no longer used in Xcode 6.1. the challenge has been updated to reflect that. see the teachers notes of this video for more information:
from the notes:
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)
Additionally, the NSURL constructor now returns an optional so when you pass the url to the NSData method, it needs to be unwrapped.
looking at the NSData class reference, we can see that it has an init method that looks like this:
init?(contentsOfURL aURL: NSURL,
options mask: NSDataReadingOptions,
error errorPtr: NSErrorPointer)
its an init method which means you call it like so:
NSData(contentsOfURL: aURL,
options: someOptions,
error: someError)
note that the NSURL initializer returns an optional, so you will need to force unwrap courseURL using !
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)