问题描述
我有一个对象数组,它们都属于 PFObject
类。
我有一个名为 PFObject
的 GameCategory
子类,其中我数组中的一些 PFObject
是 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
}
}
解决方法
您的代码缺少该 env:
闭包中的返回值,并将其转换为 first(where:
(您的转换仅存在于该闭包的范围内)。我写的有点不同,但它会实现相同的:
GameCategory