I have searched for this issue and I did not find any solution that is working for me using the latest version of Xcode and Swift. I use three arrays:
1. baseArray[Meal]: array filled with every meal. Not locally saved.
2. favoritesArray[Favorite]: with names of all favorite meals, locally saved by the user with NSKeyedArchiver.
3. filteredArray[Meal]: baseArray but filtered for searchterm. In code:
(filteredArray = baseArray.filter { $0.type == searchtext }}
I use the last array in the tableView. If they want to see all meals, the filteredArray is the same as the baseArray.
My question: how can I get the filteredArray that it has all favorite meals (so where Meal.title == Favorite.name). How do i combine three arrays?
I have tried a lot of options in the last week, but none has worked.. I hope You can help me out!!
filteredArray = baseArray.filter { $0.type == search text && favoritesArray.contains($0.type) }? (you may want to convert the favoritesArray to aSetfirst)