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 Swift 2.0 Protocols Creating Flexible Objects Using Protocols Protocol Inheritance

Brian Uribe
Brian Uribe
3,488 Points

What is going on?

I'm not sure what is happening.

protocols.swift
protocol AnimalType {
    var numberOfLegs: Int { get }
}

protocol PetType: AnimalType {

    var cuddlyName: String { get }
    var numberOfLegs: Int { get }

    }

    struct Dog: PetType {

   var cuddlyName: String { get }
   var numberOfLegs: Int { get }

}

1 Answer

Nathan Tallack
Nathan Tallack
22,158 Points

You were VERY close.

You do not need to define the get attribute on the variables inside the struct. That is there by default. ;)

Your code would look like this.

protocol AnimalType {
    var numberOfLegs: Int { get }
}

protocol PetType: AnimalType {
    var cuddlyName: String { get }
    var numberOfLegs: Int { get }
}

struct Dog: PetType {
   var cuddlyName: String
   var numberOfLegs: Int
}

Keep up the great work! :)