gpt4 book ai didi

ios - 当对象数组为空时显示 UISplitview 辅助 View 的后退屏幕

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

我有一个与最初在 UISplitView 中加载辅助 View 相关的快速问题。目前,我已经在 masterVC.swift 中获得了代码,可以用数组中的第一个对象(如果有)填充detailsVC。这工作正常,问题是当数组为空时,我可以预料到会得到 fatal error :在展开可选值时意外发现 nil。

所以我的问题是,当没有对象时,我如何设置一个单独的“没有找到对象”样式屏幕来依靠?

谢谢,这是我的 MasterVC viewDidLoad 中的代码

let initialIndexPath = NSIndexPath(forRow: 0, inSection: 0)
if objects.count != 0 {
self.tableView.selectRowAtIndexPath(initialIndexPath, animated: true, scrollPosition:UITableViewScrollPosition.None)

if UIDevice.currentDevice().userInterfaceIdiom == .Pad {
self.performSegueWithIdentifier("showDetailsSegue", sender: initialIndexPath)
}
} else {
// I'm guessing the code would go here.
}

最佳答案

好的,我明白了,这就是我需要做的。

  1. 创建一个新的 UIViewController,我只是将其命名为“NoObjectVC”并将其连接起来。
  2. 在 Storyboard中,将其作为关系转接详细信息 View Controller 连接到 SplitView Controller ,嵌入导航 Controller 中。
  3. 从 MasterVC 创建一个 Segue,我称之为“noObjectSegue”
  4. 在MasterVC的prepareForSegue函数中添加以下内容:

    else if segue.identifier == "noObjectSegue" {
    let navigationController = segue.destinationViewController as! UINavigationController
    let controller = navigationController.topViewController as! NoObjectVC
    controller.title = "No Objects Found"
    }
  5. 最后在MasterVC中,viewDidLoad()添加:

    let initialIndexPath = NSIndexPath(forRow: 0, inSection: 0)

    if objects.count != 0 {
    self.tableView.selectRowAtIndexPath(initialIndexPath, animated: true, scrollPosition:UITableViewScrollPosition.None)
    if UIDevice.currentDevice().userInterfaceIdiom == .Pad {
    self.performSegueWithIdentifier("showDetailSegue", sender: initialIndexPath)
    }
    } else {
    if UIDevice.currentDevice().userInterfaceIdiom == .Pad {
    print("No Objects Available")
    self.performSegueWithIdentifier("noObjectSegue", sender: self)
    }
    }

不确定这会对任何人有帮助,但我想我应该记录下来以防万一。

关于ios - 当对象数组为空时显示 UISplitview 辅助 View 的后退屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35529498/

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