繁体   English   中英

Swift如何在AnyObject数组中查找对象

[英]Swift how to find an object in array of AnyObject

我想在我的NavigationController中获取当前ViewController的索引。

问题是navigationController.viewControllers的类型为AnyObject,现在出现错误无法使用类型为(AnyObject,UIViewController)的参数列表调用'find'。

func navigationController(navigationController: UINavigationController, willShowViewController viewController: UIViewController, animated: Bool) {
    var index = find(navigationController.viewControllers, viewController)
}

如何解决此问题,如何在AnyObject数组中获取索引?

发生此问题的原因是find函数不知道如何将AnyObjectUIViewViewController进行比较。 即使navigationController.viewControllers[AnyObjects]数组除UIViewController实例外不应包含任何内容,编译器也不知道。 我们可以通过将数组(使用as! )转换为[UIViewController]

func navigationController(navigationController: UINavigationController, willShowViewController viewController: UIViewController, animated: Bool) {
    var index = find(navigationController.viewControllers as! [UIViewController], viewController)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM