gpt4 book ai didi

swift - 推 View Controller : unexpectedly found nil while unwrapping an Optional value in SWIFT

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

我已经为iPhone开发了一个应用程序,我想在iPad上继续这个应用程序,iPad的界面与iPhone不一样,我正在开发iPad的界面,我有一个问题将uiviewcontroller传递给另一个 uiviewcontroller。

我在函数 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 中检测到设备,如下所示

if( (modelName == "iPad 2")||(modelName == "iPad 3")||(modelName == "iPad 4")||(modelName == "iPad Air")||(modelName == "iPad Air 2")||(modelName == "iPad Mini")||(modelName == "iPad Mini 2")||(modelName == "iPad Mini 3")||(modelName == "iPad Mini 4")||(modelName == "iPad Pro"))
{
...
}else
{
...
}

创建两个 View ( View A 和 View B)后,我将两个导航 Controller 嵌入到这两个 View 中。

在 View A 中,我添加此代码来传递 View B,

let secondViewController = self.storyboard!.instantiateViewControllerWithIdentifier("viewBID") as! ViewBViewController

self.navigationController!.pushViewController(secondViewController, animated: true)

我在 iPhone 上做了同样的事情,效果很好,但对于 iPad,我总是会遇到类似 unexpectedlyfound nil while unwrapping anOptional value

的错误

我不知道为什么,我在 View Controller 中嵌入了导航 Controller ,所以我认为 self.navigationController 不为空。你知道如何解决这个问题吗?非常感谢。

PS:我想也许我没有使用正确的方法来分离iPhone和iPad的界面,但我不确定这一点......我需要你的帮助,非常感谢你。 enter image description here

最佳答案

尝试使用尺寸类别。您不必使用代码来检测设备。使用尺寸类别,您可以为 iPad、iPhone 纵向和 iPhone 横向或仅针对 iPhone 6s plus 提供不同的界面。

Xcode 中小于 8 的大小类看起来像这样 here to select them

您可以在此处选择您的设备。

and then select device

我建议下载 Xcode 8 beta,因为它们在 Xcode 8 中略有不同,但原理相同。

您可以在 Xcode 中搜索一些有关尺寸类别的教程。

关于swift - 推 View Controller : unexpectedly found nil while unwrapping an Optional value in SWIFT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39118760/

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