2016-05-18 2 views
0

Я просто хотел бы найти индекс массива структур, содержащих элемент поиска в структуре. похожее на это:Swift 2.2 indexOf для struct part in array

struct Address{ 
    var name:String 
    var town:String 
} 

var allAddresses = [Address]() 
let newAddress = Address.init(name: "Paul", town: "Heidelberg") 
allAddresses.append(newAddress) 


//... 
let found = allAddresses.name.indexOf("Paul") 
//... 

, но я получаю

error: value of type '[Address]' has no member 'name'

ли это как-то можно таким образом? Итерация через массив создаст для меня другие проблемы!

+0

Отлично! Я узнал что-то новое. Большое спасибо! – pawi

ответ

9

Вы должны вызвать indexOf на массив и использовать синтаксис закрытия для предиката:

let found = allAddresses.indexOf { $0.name == "Paul" }