将结果<t>转换为[AnyObject]

时间:2015-11-28 23:58:10

标签: ios swift realm

我正在使用领域作为后端,但是当我想在下面的课程中显示我的领域时,我一直会收到以下错误:Cannot convert value of type Results<League> to expected argument type [AnyObject]]

我需要映射结果还是我的选项?

    let realm = try! Realm()
    let predicate = NSPredicate(format: "#matches.@count > 0")
    menuArray = realm.objects(League).sorted("id").filter(predicate)
    let menuView = BTNavigationDropdownMenu(title: menuArray!.first!.name!, items: menuArray!)
    self.navigationItem.titleView = menuView

1 个答案:

答案 0 :(得分:2)

我认为类型Results<Object>(自定义Realm容器类型)的值与类型[AnyObject](值为AnyObject的Swift数组)之间存在差异对象),所以你可能正确地认为你需要转换结果。

试试这个:

let menuView = BTNavigationDropdownMenu(title: menuArray.first!.name!, items: menuArray.map { $0 })

这种方法在您使用的简单下拉菜单的上下文中可能没问题,但在其他环境中性能可能会下降。