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 Object-Oriented Swift Complex Data Structures Adding Instance Methods

Arius Eich
Arius Eich
2,769 Points

Methods

It says make sure I am adding an instance method to the struct and the thing incorrect but when I run it in a playground it works for what I want. Whats wrong?

structs.swift
struct Person {
    let firstName: String
    let lastName: String
}

func fullName(firstName: String, lastName: String) {
return(firstName + " " + lastName)
}

2 Answers

andren
andren
28,538 Points

There are a couple of issues:

  1. You are meant to add the method to the struct, that means it has to be defined within the struct, similarly to the firstName and lastName properties. You have defined the method outside the struct.

  2. The method is not meant to take any parameters, it's just meant to return the firstName and lastName properties already defined in the struct.

  3. You are not defining a return type for your method.

If you fix those three issues like this:

struct Person {
    let firstName: String
    let lastName: String

    func fullName() -> String {
      return firstName + " " + lastName
    }
}

Then your code will work.