Swift How-First/Where语句检查可选对象数组-展开和匹配
我有一个对象数组,它们都属于类Swift How-First/Where语句检查可选对象数组-展开和匹配,swift,Swift,我有一个对象数组,它们都属于类PFObject。 我有一个子类PFObject称为GameCategory,其中数组中的一些PFObjects是GameCategory 我想知道如何编写first/where语句来检查每个对象是否属于GameCategory类,然后检查匹配的ID 以下是我的非工作尝试: for id in Ids { if let object = self.matchObjects.first(where: { if let gameCategory
PFObject
。
我有一个子类PFObject
称为GameCategory
,其中数组中的一些PFObject
s是GameCategory
我想知道如何编写first/where语句来检查每个对象是否属于GameCategory类,然后检查匹配的ID
以下是我的非工作尝试:
for id in Ids {
if let object = self.matchObjects.first(where: {
if let gameCategory = $0 as? GameCategory {
gameCategory.id == id
}
}) {
//object successfully cast as GameCategory, and the GameCategory id was a match
}
}
此代码返回错误“Missing return in a closure expected to return'Bool.”您的代码首先在该
中丢失了返回值(其中:
closure and casting asGameCography
(您的cast仅存在于该闭包的范围内)。我写了一点不同,但它将实现相同的效果:
id中id的{
如果让object=self.matchObjects.first(其中:{($0作为?游戏类别)?.id==id})作为?游戏类别{
//对象强制转换为GameCategory,id匹配
}
}
whereclosure必须返回一个Bool
值,错误清楚地说明了什么。你将要完成什么?目前看来,第一个找到的GameCategory
实例的id
在循环的每次迭代中都会被覆盖。谢谢!我知道这一定是语法问题。