【发布时间】:2018-10-11 17:07:34
【问题描述】:
基本上我的模型对象包含另一个模型对象,我想从主模型对象内的模型中搜索/过滤,请查看下面的更多说明。
struct User {
var name: String!
var age: Int!
var hasPet: Bool!
var pets: [Pets]!
}
struct Pets {
var id: Int!
var petName: String!
var colour: String!
}
在这里,当我在该模型中创建最终模型对象时,我想要过滤器,它应该根据用户输入的宠物名过滤主模型。
例如,如果模型中的一位用户有 2 只宠物,一只黑色,另一只白色。 然后模型中的第二个用户有 2 只宠物,一只灰色,一只棕色。
现在当用户搜索拥有白色宠物的用户时,可以出现在列表中。在这种情况下,列表将显示第一个用户。像这样。
我尝试了下面的代码,但它不起作用::
let petsFiltered = users.filter { (user) -> Bool in
return (user.pets.)!
}
提前致谢!
【问题讨论】:
-
定义“不工作”。
-
@rmaddy 是我的描述不足以理解问题吗?
-
不,一点也不。您首先对数据模型中的内容进行模糊概述。然后,您就用户搜索时应该发生的情况给出一个更不明确的句子。然后你展示一小段代码并简单地声明“不起作用”。该代码究竟以何种方式不起作用?您实际上对
petsFiltered做了什么?您的问题中缺少很多细节。 -
我不明白。
pets["name"]这意味着pets是一个字典(因为我不认为你在Pets上做了下标)。你检查“名字”上的“白色”吗?您的数组名为user,但您将其中的每个变量命名为pet。所以至少应该是{ (anUser) -> Bool in -
@rmaddy 好的,这可能是因为我第一次发布了问题,从下次开始会处理这个问题。谢谢顺便说一句!
标签: swift