我有两个故事板,需要传递消息和对象。我知道如何在同一个故事板中使用.xib文件,但不是两个不同的故事板。
我的代码是:
var storyboard = UIStoryboard(name: "RecibosStoryboard", bundle: nil)
var controller = storyboard.instantiateViewControllerWithIdentifier("RecibosStoryboard") as! UINavigationController
self.presentViewController(controller, animated: true, completion: nil).
// If i do: var controller = storyboard.instantiateViewControllerWithIdentifier("RecibosStoryboard") as! = TableRecibosViewController -> fails ->cannot convert TablaRecibosViewController to UINavigationController
// If i do:
/* var controller = storyboard.instantiateViewControllerWithIdentifier("RecibosStoryboard") as! UINavigationController
let vartest: TablaRecibosTableViewController = TablaTablaRecibosTableViewController()
prueba.inicioPrueba(str, strPrueba2: str2) -> two objects are nill
self.presentViewController(controller, animated: true, completion: nil).
Two objects are nill*/
我的第二个故事板是“RecibosStoryboard”,只有1个视图,其中的类是TablaRecibosViewController,并且有一个构造方法:
class TablaRecibosTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet var tablaRecibos: UITableView!
var pruebaMansajes: String?
var pruebaMansajes2: String?
var arrayOfObjectsCellRecibos: [ObjectTableRecibos] = [ObjectTableRecibos] ()
override func viewDidLoad() {
super.viewDidLoad()
tablaRecibos.dataSource = self
tablaRecibos.delegate = self
println("Pruebas satisfactorias1 \(pruebaMansajes) \(pruebaMansajes2)")
}
func inicioPrueba(strprueba1:String, strPrueba2:String){
pruebaMansajes = strprueba1
pruebaMansajes2 = strPrueba2
}
当我执行应用程序或崩溃或打印两个对象= nil
时我找不到办法。非常感谢。
答案 0 :(得分:0)
问题是以下"无法将TablaRecibosViewController转换为UINavigationController"。您的TablaRecibosViewController嵌入在UINavigationController中。请尝试以下方法:
if let recibosViewController = (storyboard.instantiateViewControllerWithIdentifier("RecibosStoryboard") as? UINavigationController).viewControllers.first as? TablaRecibosTableViewController {
recibosViewController.pruebaMensajes = "Hola mundo"
}
您正在创建一个与Storyboard无关的TablaTablaRecibosTableViewController()的新实例,因此表视图为nil并且崩溃了。