gpt4 book ai didi

ios - 如何在 ios objective c 中管理状态

转载 作者:行者123 更新时间:2023-11-29 00:41:15 26 4
gpt4 key购买 nike

我是 iOS 开发新手。我的问题是,我有两个 View Controller 。

viewController - A viewController - B

现在,如果我从 viewController - A 中终止了该应用程序,然后重新启动该应用程序。应用程序必须打开 viewController - A。如果我从 viewController - B 杀死应用程序,然后重新启动应用程序。应用程序必须打开 viewController - B。

谁能帮助我,我已经完成了 RND,但找不到合适的解决方案。

谢谢

最佳答案

  1. 在AppDelegate.m文件中创建一个sharedDelegate
+(AppDelegate *)sharedDelegate {
return (AppDelegate *) [UIApplication sharedApplication].delegate;
}
  1. 在 AppDelegate.h
+ (AppDelegate *)sharedDelegate;
@property (nonatomic, strong) NSString *currentViewContoller;
  1. 当推送到任何 Controller 时,将 AppDelegate 的 currentViewContoller 设置为新的 VC
YourViewController *vc=[[YourViewController alloc] init];
[self.navigationController pushViewController:vc animated:YES];

[AppDelegate sharedDelegate].currentViewContoller = NSStringFromClass([YourViewController class]);
  1. 现在当应用终止时
- (void)applicationWillTerminate:(UIApplication *)application {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
[[NSUserDefaults standardUserDefaults]setObject:[AppDelegate sharedDelegate].currentViewContoller forKey:@"currentVC"];
}
  • 现在,当应用程序第一次启动时,在应用程序终止时检查以前的 Controller
  • - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    NSString *string=[[NSUserDefaults standardUserDefaults] valueForKey:@"currentVC"];

    并推送这个类

        UIViewController *object = [[NSClassFromString(string) alloc] init...];
    }

    关于ios - 如何在 ios objective c 中管理状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39463807/

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