2017-03-25 82 views
0

元素我有2類:如何返回一個包含搜索到的元素

- Favourite 
    + key 
    + showKey 
- Show 
    + key 

我有favouriteShows[Favourite] 數組我有一個演出對象show

檢查,如果該節目的關鍵是我喜歡的一部分我做的:

if favouriteShows.contains(where: {$0.showKey == show.key}) { 
... 
} 

但我也想確定哪個最喜歡它是有了showKey。

喜歡的東西let favouriteIndex = favouriteShows.contains(where: {$0.showKey == show.key})

+0

你甚至可以使用'第一(其中: )'像這個http://stackoverflow.com/a/42037292/6433023獲取對象 –

回答

1

您正在尋找index(where:)

guard let favouriteIndex = favouriteShows.index(where: {$0.showKey == show.key}) else { 
    // no favourite matched 
    return 
} 

// use favouriteIndex 
0

或者,你可以枚舉favouriteShows排列如下:

for (ndx, sh) in favouriteShows.enumerated() { 
    if sh.showKey == show.key { 
     // ndx contains the index at this point 
    } 
} 
相關問題