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!

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 Classes and Objects Classes and Their Methods

Peter Fuhrey
Peter Fuhrey
2,146 Points

Class method challenge

Hi, I feel as though I'm missing something important here but I can't get a grasp on it. It's saying I forgot to add points to the width property.

class Button {
  var width: Double
  var height: Double

  init(width:Double, height:Double){
    self.width = width
    self.height = height

func incrementBy(points: Double) -> Double {
return points + (width + height)

1 Answer


I think you're trying to increment width and height by the value passed into the function, points.

So, that would probably look something like:

func incrementBy (points: Double){
    self.width += points
    self.height += points

That increments both the width and the height in the instance of the Button method by the value passed into the function, points. There's no return from the function because you act directly on the instance varialbes by using the self. notation.

I hope that is (1) correct and, (2), understandable!