gpt4 book ai didi

Swift - 通过索引号引用 navigationController 中的 viewController

转载 作者:行者123 更新时间:2023-11-30 10:03:09 25 4
gpt4 key购买 nike

这段代码说明了我的要求:

对于具有 2 个屏幕的简单应用程序,rootViewController和一个 TableViewControllerrootVC将位于navigationController中的索引[0]处,下一个 View 将使索引增加 1

import UIKit
import CoreData

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?


func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

let navController = self.window?.rootViewController as! UINavigationController
let firstViewController = navController.viewControllers[0] as! firstViewController
firstViewController.managedObjectContext = self.managedObjectContext

return true
}

现在我正在尝试通过managedObjectContext来自appDelegaterootViewController后面的ViewControllers :

中心 View 是rootViewController ,我要通过managedObjectContext到其旁边、上方和下方的屏幕。

我尝试从 appDelegate 传递它至rootViewController ,然后从rootViewController传递到下一个 View ,但它不起作用。

谁能告诉我如何知道同一 View 后面的 View 的索引号吗?谢谢!

最佳答案

Now I am trying to pass managedObjectContext from appDelegate to the ViewControllers behind the rootViewController

你不能。整个想法毫无意义。当应用程序委托(delegate)中的代码运行时,这些 View Controller 尚不存在。 Storyboard只是一组用于创建 View Controller future 实例指令;在 application:didFinishLaunchingWithOptions: 期间没有此类实例 - 除了您在代码中明确创建的第一个实例之外。

相反,每个 View Controller 都需要在自己的代码中(例如它们的 viewDidLoad )。他们都可以轻松做到这一点,因为应用程序委托(delegate)具有 managedObjectContext 属性,并且他们都可以看到该属性,因为他们都可以看到应用程序委托(delegate)(因为它是共享应用程序的委托(delegate))。

关于Swift - 通过索引号引用 navigationController 中的 viewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37368039/

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