如何调用函数在Swift中从UITableViewCell类更改viewController?
我需要调用一个函数从UITableViewCell类,以改变的viewController,但我得到: “致命错误:意外发现零而展开的可选值”如何调用函数在Swift中从UITableViewCell类更改viewController?
class Custom: UITableViewCell{
var myClass: MyClass!
myClass = MyClass()
myClass.call()
}
class MyClass: UIViewController {
func call(){
let nextView = self.storyboard!.instantiateViewControllerWithIdentifier("view") as MyViewController
self.navigationController!.pushViewController(nextView, animated: true)
}
}
如何正确地做到这一点?
谢谢!
你不能调用这样的函数,你必须定义一些方法并调用该函数!例如
class Custom: UITableViewCell{
var myClass: MyClass=MyClass()
func callMethod(){
myClass.call()
}
}
这和我正在做的一样。我得到相同的错误... – user3745888 2014-10-22 11:52:46
这段代码对我成功运行! – 2014-10-27 04:49:04
您直接调用myClass.call()方法,因为您必须在同一个类的函数下调用此方法!所以我创建了方法callMethod,然后从myClass调用函数! – 2014-10-27 04:52:14
设置一个断点并逐步通过,但我怀疑视图控制器实例化失败 - 可能是因为“视图”不是标识符。最好是从视图控制器创建一个segue到你的新视图控制器,然后调用'self.performSegueWithIdentifier()' – Paulw11 2014-10-22 11:33:39
我得到错误“没有带标识符的segue”segueUnl“”但我有这个标识符..什么原因是什么? – user3745888 2014-10-22 11:58:18
不要将视图控制器标识符与segue标识符混淆。 – Paulw11 2014-10-22 11:59:11