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 trialpixelation
Courses Plus Student 4,219 PointsStill getting tons of errors in the init method, can't fix it?
I am using XCode 6.4 and I added the code that's in the video:
let musicLibrary = MusicModel().library let playlistDictionary = musicLibrary[index] title = playlistDictionary["title"] as String!
That didn't work, I checked the other questions and everyone said to change AS to AS! , so I did this:
let musicLibrary = MusicModel().library let playlistDictionary = musicLibrary[index] title = playlistDictionary["title"] as! String!
That gave me this error: Cannot assign a value of type ‘String!’ to a value of type ‘String?’
as well as this warning on the playlistDictionary line: Constant ‘playlistDictionary’ inferred to have type ‘AnyObject?’, which may be unexpected
I've tried all of the suggestions and can't get this to work. Would be great if someone from Treehouse could updated this code being that I'm paying a monthly fee for this.
1 Answer
Michael Kannard
2,555 PointsWhen you change the "as" to an "as!", you need to take the ! operator off of the type that you are casting to. Ex: let musicLibrary = MusicModel().library let playlistDictionary = musicLibrary[index] title = playlistDictionary["title"] as! String
However the best way to do this now is actually using "as?", which will not trigger a runtime error if the value you are accessing is nil.
let musicLibrary = MusicModel().library let playlistDictionary = musicLibrary[index] title = playlistDictionary["title"] as? String