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 trialTealium Solutions
13,874 Pointsmy failable initializer cannot complile
Why can't my failable initializer compile for the Book struct?
struct Book {
let title: String
let author: String
let price: String?
let pubDate: String?
init?(dictionary: [String:String]) {
guard let title = dictionary["title"], let author = dictionary ["author"] else {
return nil
}
self.title = title
self.author = author
self.price = dictionary["price"]
self.pubDate = dictionary["pubDate"]
}
}
1 Answer
Everton Carneiro
15,994 PointsYour code is right. You just need to rename dictionary to dict.
There's a note in the challenge: "Note: Give your initializer argument the name dict"
Tealium Solutions
13,874 PointsTealium Solutions
13,874 PointsAh! I should read more carefully next time. Thanks!