Я должен sort
и array
из Custom class
'SongItem
' на основе другого array
, который является моим String array
с несколькими типами (должен применяться OR
проверка).
Предположим, мой Custom array
:
class SongItem: NSObject {
var songId: String?
var title: String?
var artistName: String?
var isrc: String?
var genreArray = [String]()
}
<SongItem: 0x1c03097e0>
<SongItem: 0x1c03097e0>
<SongItem: 0x1c03097e0>
<SongItem: 0x1c03097e0>
<SongItem: 0x1c03097e0>
<SongItem: 0x1c03097e0>
У меня есть еще один String array
, который имеет три значения:
genreStringArray = ["Music","Alternative","Blues"]
Теперь я должен filter
мой Custom array
на основе другого String array
.
Вот мой код:
for i in 0..<genreStringArray.count {
let genre = genreStringArray[i]
self.customArray = self.customArray.filter({ $0.genreArray.contains(genre) })
}
Поскольку я использую for loop
, здесь filtering
работает нормально в режиме И, но я должен фильтровать это способом ИЛИ. Я имею в виду это должно быть как:
self.datasource = self.datasource.filter { $0.genreArray.contains(genre1) || $0.genreArray.contains(genre2) || $0.genreArray.contains(genre3)}
Пожалуйста, кто-нибудь предложит мне.