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 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,558 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.