0
我想用三个条件来筛选火力地堡查询结果:无法转换int类型的值与预期的参数类型布尔
let posts = snapshot.childSnapshots.map {
Post(snapshot: $0)
}.reversed().filter {
post?.isGlobal == dataFilter && (self.dependents.contains($0.postedBy) || self.currentUser?.uid == $0.postedBy)
}
第一个条件(post.isglobal == datafilter)
必须得到满足。然后,我想在满足其余两个条件中的任何一个时进一步过滤帖子。
上面的代码返回一个错误:Binary operator == cannot be applied to operands of type NSNumber? and Int
任何帮助,将不胜感激。 谢谢!
编辑:dataFilter
变量定义为视图控制器类中的一个全局变量:
var dataFilter = 0
比较与'做'==,而不是与'=' –
如果我将其更改为'==',我会收到错误'Binary operator ==不能应用于NSNumber类型的操作数?和Int' – winston
尝试'(post?.isGlobal.intValue ?? 0)=='或者在访问它的isGlobal intValue属性之前打开你的可选文章 –