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 Working With JSON

Convert the JSON data to an NSDictionary and store it in a constant named userCourseDictionary

need some help

json.swift
// We've already created a NSData object with some json encoded data for you
import Foundation

let jsonString : NSString = "{\"results\": \"success\"}"
let userCourseData : NSData = jsonString.dataUsingEncoding(NSUTF8StringEncoding)!

// Now you just need to decode it
let userCourseDictionary: NSDictionary = NSJSONDictionary.NSData(contentsOfURL: courseURL) as NSDictionary

2 Answers

Max Hirsh
Max Hirsh
16,773 Points

Hey, I went to the video your question referenced. The code needed to solve the challenge is discussed around 3:20. It looks like you have the variable type and downcasting set up, but in this case there's no need to reference a url since they already stored the json string as a constant, "jsonString". Basically, on the last line after the = sign, you just need to call the NSJSONSerialization.JSONObjectWithData() method on the json object like this:

NSJSONSerialization.JSONObjectWithData(userCourseData, options: nil, error: nil) as NSDictionary

Let me know if that works for you!

it works