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 trialsv
1,244 PointsHaving trouble getting past this
My answer is correct I think:
let courseData = NSDATA(string: courseURL!, options: nil , error: nil)
But tree house giving me an error to set courseData = NSDATA output
import Foundation
let treehouseBaseURL = NSURL(string: "https://api.teamtreehouse.com/")
let courseURL = NSURL(string: "/course/\(courseID)", relativeToURL: treehouseBaseURL)
let courseData = NSDATA(string: courseURL!, options: nil , error: nil)
3 Answers
Stone Preston
42,016 Pointslooking at the NSData class reference, we can see that it has a 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)
you wrote NSData in all caps. it needs to be NSData not NSDATA. also the first parameter is named contentsOfURL, not string.
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)
sv
1,244 PointsThanks for the very quick response. Unfortunately I am still getting an error: Bummer! You need to assign the result of the NSData call to the courseData constant.
Here is my code:
import Foundation let treehouseBaseURL = NSURL(string: "https://api.teamtreehouse.com/") let courseURL = NSURL(string: "/course/(courseID)", relativeToURL: treehouseBaseURL) let courseData = NSData(string: courseURL!, options: nil , error: nil)
Stone Preston
42,016 Pointsalso the first parameter is named contentsOfURL, not string.
you need to change the parameter name to contentsOfURL
let courseData = NSData(contentsOfURL: courseURL!, options: nil , error: nil)
sv
1,244 PointsThat did it - much thanks!
Stone Preston
42,016 Pointsno problem glad I could help!