2015-12-22 4 views

ответ

1

Теоретически было бы

if let students = students.filter({ $0.sName == name }) { ... } 

Но filter Безразлично» t return необязательно, так или иначе, поэтому вы не должны использовать синтаксис if let.

Так что вы можете сделать:

func sortStudents(students: [Student], byNames: [String]) -> [Student]{ 
    var result = [Student]() 

    for name in byNames { 
     let students = students.filter { $0.sName == name } 
     if students.count > 0 { 
      result.append(students[0]) 
     } 
    } 
    return result 
} 
+0

* Теоретически * ', если позволить студентам = (students.filter {$ 0.sName == имя}) {...}' работает хорошо, то есть вы можете используйте синтаксис закрывающего закрытия, если выражение заключено в круглые скобки. –

Смежные вопросы