【发布时间】:2015-12-11 10:17:03
【问题描述】:
你好,我有 ViewController,它通过 segue 连接到 UIPageViewController 并且在 ViewController 中有两个按钮通过 segue 连接到另一个控制器(LoginSignupViewController)。按钮名称是登录和注册。登录和注册按钮都有不同的 segue 标识符。单击登录按钮或注册按钮时出现错误
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "loginSegue") {
let secondViewController = segue.destinationViewController as! LoginSignupViewController
secondViewController.navigationTitle = "LOGIN"
}else if (segue.identifier == "registerSegue") {
let secondViewController = segue.destinationViewController as! LoginSignupViewController
secondViewController.navigationTitle = "SIGN UP"
//etc...
}
}
如果我使用此代码编译应用程序.. 我明白了
Terminating app due to uncaught exception 'NSInvalidArgumentException' reason: '-[__NSCFType set]: unrecognized selector sent to instance
所以我删除了 if else 条件并使用此代码编译了应用程序
let secondViewController = segue.destinationViewController as! LoginSignupViewController
secondViewController.navigationTitle = "LOGIN"
我收到此错误
Could not cast value of type 'Myproject.PageViewController' (0x10008c550) to 'MyProject.LoginSignupViewController' (0x10008c0f0).
当我打印出print(segue.identifier)
它在控制台上打印这个
Optional("pageViewController")
我的故事板截图
注意:代码在 IOS 9 或更高版本上运行良好。该应用在 IOS 8.4 上崩溃
【问题讨论】:
标签: ios swift uipageviewcontroller uistoryboardsegue