gpt4 book ai didi

ios - CoreData 应用程序中的 popToViewController

转载 作者:行者123 更新时间:2023-11-29 04:59:16 25 4
gpt4 key购买 nike

我有一个 CoreData 应用程序,其中包含 MainView 和 UITableViewController,其中包含列表中的所有项目。我想要完成的是添加自定义后退按钮并使用 popToViewController:animated: 访问设置。当我尝试使用此方法时,应用程序崩溃了。经过大量阅读后,我意识到推送和弹出使用 NSArray 堆栈作为 View Controller 。例如,rootView 是 View 0,当您使用 pushToViewController:animated: 时,它会添加到另一个 View 1 等中。这一切都是有道理的。我了解到的是,您无法弹出到 Root View 之后未加载到堆栈中的 View 。我的目标是弹出设置 View 。当我更改 AppDelegate.m 中的代码以使 SettingsViewController 成为 rootViewController 时,UITableViewController 不再起作用,它无法告诉我实体“enityName”无法初始化。有什么方法可以让应用程序的 CoreData 部分正常运行并仍然弹出设置?我曾想过使用模态视图,但它破坏了应用程序的风格。

这对我来说很难解释,如果你不明白其中的任何部分,请告诉我。感谢您的帮助。

更新:我在 UINavigationBar 文档中读到,您可以使用 - (void)setItems:(NSArray *)itemsAnimated:(BOOL)animated 从而允许您手动设置推送和弹出 View Controller 的数组。我只是不知道该怎么做。我已经浏览了苹果的drillDown示例代码,但它没有我正在寻找的功能。

最佳答案

也许您误解了 Apple 的导航 Controller 习惯用法。它旨在深入查看 View 的层次结构,并轻松直观地前后移动。

在此层次结构之外的 View (似乎您的设置 View 属于此类别)确实应该以模态方式呈现。在 iPad 上,您甚至可以使用漂亮且方便的 UIPopOverController

当然,如果您想保持自己的外观和感觉(导致用户感到困惑的危险),您可以修改过渡动画。您可以使用 Apple 自己的、因此预先批准的 UIViewControllerUIModalTransitionStyle 属性。

或者您可以尝试到目前为止所做的事情并摆弄 View 层次结构。也许您可以简单地通过顺序使用 View Controller 而不是在中间跳过 Controller 来消除错误。在这种情况下,使用它应该足够了

[self.navigationController pushViewController:controller animated:YES];

[self.navigationController popViewControllerAnimated:YES];

而不是更容易出错的版本pushToViewControllerpopToViewController

关于ios - CoreData 应用程序中的 popToViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7323962/

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