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 Inheritance Overriding Methods

Our RoundButton class should have its own implementation of the incrementBy method. Can you please tell me whereis error

Please tell me how to fix it

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 += points
    height += points
  }
}

class RoundButton: Button {
  var cornerRadius: Double = 5.0

 override func incrementBy(_points: Double = 7.0) {
    super.incrementBy(points)
    }
}

1 Answer

Iulian Popescu
Iulian Popescu
1,363 Points

I think that when you declared the parameter name you typed "points" instead " points". This caused two errors I think: one for using an undeclared variable and second is for not respecting Apple requirements when declaring a function with default values. This is how your function should look :

 override func incrementBy(_ points: Double = 7.0) {
        super.incrementBy(points)
 }