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

Melinda Caines
PLUS
Melinda Caines
Courses Plus Student 892 Points

How to I fix my initializer method?

The Preview is saying to not assign a variable to itself. How do I write this code?

classes.swift
// Enter your code below

class Shape{
  let numberOfSides: Int

   init(){
        self.numberOfSides = numberOfSides

   }
}

let someShape = Shape()

if you have access to Xcode it will help you to solve the problem from the IDE and then copy and past it into the site. because even in real world you will be corrected. While its still good practice not to get the aid of Xcode learning wise, if your in a run writing it there will keep you on track. hope that helps at all.

1 Answer

Alexander Smith
Alexander Smith
10,476 Points

close. this is how..

class Shape {
var numberOfSides: Int

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

let someShape = Shape(numberOfSides: 4)

the self.numberOfSides connects to your variable outside the init method. then you set that equal to numberOfSides which is connected to your init (parameter). then when you create an instance, use your initialized parameter for shape