gpt4 book ai didi

ios - 无法将 PageViewController 类型的值转换为另一个 Controller

转载 作者:行者123 更新时间:2023-11-30 13:51:33 25 4
gpt4 key购买 nike

你好,我有ViewController,它通过segue连接到UIPageViewController,并且在ViewController中还有两个按钮通过segue连接到另一个 Controller (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")

我的 Storyboard截图

enter image description here

注意:该代码在 IOS 9 或更高版本上运行良好。应用程序在 IOS 8.4 上崩溃

最佳答案

我看到你的问题了。您应该保留 if-else 条件。你应该这样做:

1var stringTitle: String! 放入 LoginSignupViewController

2prepareSegue 中的代码更改为:

if (segue.identifier == "loginSegue") {

let secondViewController = segue.destinationViewController as! LoginSignupViewController

secondViewController.stringTitle = "LOGIN"

}else if (segue.identifier == "registerSegue") {

let secondViewController = segue.destinationViewController as! LoginSignupViewController

secondViewController.stringTitle = "SIGN UP"
//etc...
}

3LoginSignupViewControllerviewDidLoad中放置代码:

self.navigationItem.title = "LOGIN"

关于ios - 无法将 PageViewController 类型的值转换为另一个 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34221073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com