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 trialBachir Kurdi
10,098 PointsThe search function below returns a name if it is found in the array and an empty string if it is not found. Modify the
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 person = search(name: "Doc") {
println("\(person) was found")
}
this is what i have made so fare but i keep getting error :( some help please
func search(#name: String) -> String {
let names = ["Doc","Grumpy","Happy","Sleepy","Bashful","Sneezy","Dopey"]
for n in names {
if n == name {
return n
}
}
return ""
}
1 Answer
Tyler Zika
14,402 PointsTry this out. In swift, I don't think you can have two return statements in a function. Once your for in loop completes, it will move on to what code is after the loop, which is another return statement in your case.
func search(#name: String) -> String {
let names = ["Doc", "Grumpy", "Happy", "Sleepy", "Bashful", "Sneezy", "Dopey"]
var matchedName = " "
for n in names{
if n == name{
matchedName = name
}
}
return matchedName
}
search(name: "Doc")
search(name: "Bachir Kurdi")