Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

iOS Object-Oriented Swift 2.0 Classes Instances of Classes

Adam Beck
Adam Beck
9,345 Points

Classes - not sure where to place instance and feel like i'm missing something from this question..

I thought instances were written below, but I was trying to match what I saw on the video and couldn't find a correct answer in Xcode. Please help!

classes.swift
// Enter your code below
class Shape {
    var numberOfSides: Int
    let someShape

   init (){

    }

}

1 Answer

Luke Dawes
Luke Dawes
9,739 Points

Hi Adam,

Classes, unlike structs, require that you define an initializer method, or init method, within the definition before you can declare an instance of that class. You then declare an instance of that class outside of it, as seen here:

class Shape {
    var numberOfSides: Int

    init (numberOfSides: Int){
        self.numberOfSides = numberOfSides

    }

}

let someShape = Shape(numberOfSides: 3)

The init method will allow you to set values to the stored properties of the class, unless they've already been defined in the class or provided with default values. I'm not sure which Code Challenge you're working on, if any, but you can see I've declared an instance of the Shape class and assigned it to the someShape constant, provided it with three sides in the init method.

Hope that helps!