集合我有两个班“Receipe”和“Incredient”。 receipe可以有一个成员列表。现在,我希望当我通过一个不容易的名单时,我应该收回所有包含那个难以置信的收据。以下是我有:斯威夫特过滤基于另一个集合
如何过滤基于在incrediants传递的receipies。
class Recipe {
var name :String!
var incredients :[Incredient]!
init(name :String, incredients :[Incredient]) {
self.name = name
self.incredients = incredients
}
}
class Incredient {
var name :String!
init(name :String) {
self.name = name
}
}
var incredientsToSearchFor = [Incredient(name:"Salt"),Incredient(name :"Sugar")]
var receipe1 = Recipe(name: "Receipe 1", incredients: [Incredient(name: "Salt"),Incredient(name :"Pepper"),Incredient(name :"Water"),Incredient(name :"Sugar")])
var receipe2 = Recipe(name: "Receipe 2", incredients: [Incredient(name: "Salt"),Incredient(name :"Pepper"),Incredient(name :"Water"),Incredient(name :"Sugar")])
var receipe3 = Recipe(name: "Receipe 3", incredients: [Incredient(name :"Pepper"),Incredient(name :"Water"),Incredient(name :"Sugar")])
var receipies = [receipe1,receipe2,receipe3] // list of all the recipies
func getRecipiesByIncrediants(incredients :[Incredient]) -> [Recipe] {
// WHAT TO DO HERE
return nil
}
let matchedRecipies = getRecipiesByIncrediants(incredientsToSearchFor)
你的问题不清楚。当你将'Salt'和'Sugar'传递给'getRecipiesByIncrediants'时,你期望得到:(a)所有含有盐或糖的食谱; (b)所有含有盐和糖的食谱; (c)只有盐和糖的所有食谱,没有其他成分?还有大拼写错误:它的“成分”不是“难以置信” –