ios - swift的一个问题,请教各位.
本文介绍了ios - swift的一个问题,请教各位.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
在外部定义了一个返回的方法,在按钮中药调用,最后一行报错,提示我再加一句 as [AnyObject]上去.加上去之后报错信息为:cannot convert value of type '[AnyObject]' to expected argument type '[UIViewController]'
func doBack(){
let currentControllers = self.navigationController?.viewControllers;
let newControllers:NSMutableArray=NSMutableArray(array: currentControllers!)
newControllers.removeLastObject()
self.navigationController?.navigationBarHidden=true;
self.navigationController?.setViewControllers(newControllers as [AnyObject] , animated: true)
}
解决方案
既然是swift,就尽量用swift的东西写代码……
let currentControllers -> var currentControllers
newControllers 不需要了
直接 currentControllers removeLast
PS:你的newControllers 是个Obc对象:NSMutableArray,
方法需要的是一个Array<UIViewController>
这两个是完全不一样的东西……
这篇关于ios - swift的一个问题,请教各位.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文