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 Object-Oriented Swift 2.0 Classes Classes with Custom Types

abdirahman liban
PLUS
abdirahman liban
Courses Plus Student 2,163 Points

couldn't solve it

couldn't solve this challenge

classes.swift
struct Location {
    let latitude: Double
    let longitude: Double
}

1 Answer

First you create a class named Business, with two stored properties: name and location. name should be a String, and location a Location. Then, because this is a class, you have to provide the initializer (unlike structs - which have a default one). In the initializer you need to accept a name and a location, and assign those values to the stored properties.

class Business {
  let name: String;
  let location: Location;

  init(name: String, location: Location) {
    self.name = name
    self.location = location
  }

}

let someBusiness = Business(name: "abdirahman", location: Location(latitude: 23.45, longitude: 112.16))

Finally, you need to create a constant named someBusiness and make it a Business object complete with a name and a location.

You can get the properties of the object like this:

someBusiness.name  //displays abdirahman
someBusiness.location.latitude //displays 23.45
someBusiness.location.longitude //displays 112.16