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 trialValeria Ruiz
948 Pointsclasses
hi guys, I have been working on this exercise for a while now.
Basically it is saying that I haven't identified "location" but I don't know what else to do to identify it.
Can anyone help me find what is missing in this exercise?
Thanks :)
struct Location {
let latitude: Double
let longitude: Double
class Business{
let name: String
let location: Location
init(x: Double, y: Double){
self.name = String ("Houston")
self.location = Location (latitude: x, longitude: y)
}
}
}
let someBusiness = "name, \(location)"
1 Answer
Zach Swift
17,984 PointsValeria,
Good try.
The struct should be outside of the class. It needs to be it's own thing. Since you have the class nested inside the struct, the compiler isn't seeing the class definition.
You might want to rewatch the video on classes and init. It's a tricky concept to grasp! The purpose of init is to accept arguments the user passes into it, and then set those arguments to the constants. The way you have it now, you are hard coding the values of the arguments inside init, instead of setting them to what is passed in.
Instead of instantiating the object at the bottom, you're actually setting it equal to a string. See below for an example of how I got it to pass
struct Location {
let latitude: Double
let longitude: Double
}
class Business{
let name: String
let location: Location
init(name: String, location: Location){
self.name = name
self.location = location
}
}
let loc = Location(latitude: 55.55, longitude: 44.44)
let someBusiness = Business(name:"steve", location: loc)
Good luck!
Valeria Ruiz
948 PointsValeria Ruiz
948 PointsThanks so much this was so helpful!! And yeah, I am going back right now to rematch those videos and check out what else I might have missed and getting in some practice. But your explanation is golden! Thanks so much!! I really appreciate it