无法确定“必须解开可选类型的值”错误的原因

我是iOS开发的新手,无法确定错误原因。

有人可以帮我确定为什么发生此错误吗?

错误:

可选类型'[NSObject]的值?必须解包为'[NSObject]'类型的值      使用'??'合并当可选值包含“ nil”时提供默认值      使用“!”强制展开如果可选值包含“ nil”,则中止执行

代码第四行出现错误:

    return (s.brands.count > 0 ? s.brands : nil) ?? (s.offers.count > 0 ? s.offers : nil) ?? s.malls

码:

func dataSource(section: Int) -> [NSObject] {
if let s = search {
  if section == 0 {
    return (s.brands.count > 0 ? s.brands : nil) ?? (s.offers.count > 0 ? s.offers : nil) ?? s.malls
  } else if section == 1 {
    if s.brands.count > 0 {
      return (s.offers.count > 0 ? s.offers : nil) ?? s.malls
    } else if s.offers.count > 0 {
      return s.malls
    }
  } else if section == 2 {
    if s.brands.count > 0 && s.offers.count > 0 {
      return s.malls
    }
  }
}

return [NSObject]()
评论