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

Brayden McCullough
Brayden McCullough
1,067 Points

Adding "Points" to width and height on the return

Im probably missing something important in the question or Im overthinking this but how would I return both the width and the height being altered by "points" by any Double I enter?

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) -> (width: Double, height: Double){
 return (points + width, height)

  }

}

1 Answer

Allan Clark
Allan Clark
10,810 Points

This method does not need a return type. It is a method on the Class button. Its function is to increase the size of that Button itself. Think of what the client code that will be calling this method will be trying to do and what it will be expecting to happen. If the client wants to change the size of the button it doesn't need any information back from the method. Try this:

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