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 Swift Functions and Optionals Optionals What is an Optional?

Lacey Brutschy
Lacey Brutschy
3,899 Points

I cannot get this Swift Operator's quiz...

What am I doing wrong with my code:

func search(#name: String) -> String? { let names = ["Doc","Grumpy","Happy","Sleepy","Bashful","Sneezy","Dopey"] for n in names { if (n == name){
return name } } return nil } if let person = search(name: "Doc") {

println("\person (found)")

}

search.swift
func search(#name: String) -> String? {
    let names = ["Doc","Grumpy","Happy","Sleepy","Bashful","Sneezy","Dopey"]
    for n in names {
        if (n == name){          
            return name
        }
    }
    return nil
}
if let person = search(name: "Doc") {

    println("\person (found)")
}

2 Answers

Wouter Janson
Wouter Janson
1,545 Points
func search(#name: String) -> String? {
    let names = ["Doc","Grumpy","Happy","Sleepy","Bashful","Sneezy","Dopey"]
    for n in names {
        if n == name {
            return n
        }
    }
    return nil
}
Luigi Piccoli
Luigi Piccoli
3,813 Points

It is not required in the challenge to output the name of the person, it is enough to output "Found", like this:

func search(#name: String) -> String? {
    let names = ["Doc","Grumpy","Happy","Sleepy","Bashful","Sneezy","Dopey"]
    for n in names {
        if n == name {
            return n
        }
    }
    return nil
}

if let result = search(name: "Doc"){
    println("Found")
}