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

What am I doing wrong on this challenge?

I'm assuming I have to return something different?

Button.swift
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 width + points
  }
}

You are on the right track. However, we want to add points to the current value of both width and height. Additionally, per the specification of incrementBy there is no return value. For instance, if you wanted to increment the width by points this would be accomplished by

func incrementBy(points: Double){
         width += points
}

This will address the increase of width by points. However, you should add the height portion which will be very similar. Hope this helps.

Thank you Justin - I ended up using Holger's solution, but I trust that your solution would work well too!

1 Answer

Holger Liesegang
Holger Liesegang
50,595 Points

Welcome to Treehouse, S Willsea !

"...within the method add points to the width and height properties..." asks you to add points to the width and height properties like this:

width = points + width
height = points + height
class Button {
  var width: Double
  var height: Double

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

Thank you Holger, it seems simple in retrospect.