我想過濾我的元素數組有問題,比方說。元素的過濾
Box
-[Zombies]
-[Players]
-[Weapons]
我有一堆框可以包含上面列出的所有數組。
[Box]
現在我想篩選出我想過濾掉的任何東西。 如果讓我選擇一個特定的zombieId + playerId,我只會與那些等的箱子
我嘗試使用類似:
let filteredBoxes = boxes.filter { (box) -> Bool in
selectedZombies.contains(where: { $0.zombieId == box.zombies.zombieId })
&&
selectedPlayers.contains(where: { $0.playerId == box.players.playerId })
&&
selectedWeapons.contains(where: { $0.weaponId == box.weapons.weaponId })
}
這工作,但要求用戶在進行選擇所有過濾器3顯示任何東西。
我也想顯示與用戶選擇相匹配的框,即使他們只選擇一些篩選器即選擇的殭屍。
你的意思是你有一些過濾器選項由用戶選擇如果用戶只選擇'殭屍'和'武器',那麼只需要過濾那兩個? –
是的,這是正確的 – WYS