【问题标题】:How to Save View Controller Data Every Time New Tab Bar Item is Selected?每次选择新标签栏项目时如何保存视图控制器数据?
【发布时间】:2017-08-22 05:23:40
【问题描述】:

我已经设置了一个标签栏来控制我的应用程序中的一些视图控制器。在我的视图控制器 CheckViewController 中,我有基于用户条目的数据,每次从 CheckViewController 切换到另一个视图控制器时,我都想保存这些数据。我目前的代码仅在我第一次使用标签栏从 CheckViewController 切换到另一个视图控制器时保存数据。我想在每次打开 CheckViewController 并切换到另一个视图控制器时保存数据。

我目前正在使用:

- (void)viewDidLoad {
    [super viewDidLoad];

    self.tabBarController.delegate = self;

    //code

}

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {

    if (![viewController isEqual:self]) {

        if ([self.tabBarController.selectedViewController isEqual:self] ) {

            //save data

        }

    }

    return YES;

}

欢迎提出建议。谢谢!

【问题讨论】:

  • 您可以使用数据库包装器。 google一下就行了,推荐AppCoda上的教程。
  • 我认为最好使用viewDidDisappearviewWillDisappear 而不是tabBarController: shouldSelectViewController

标签: ios objective-c uiviewcontroller uitabbarcontroller


【解决方案1】:

为了保存小数据,你可以使用 NSUserDefault。 这是保存和读取数据的示例。

保存:

[[NSUserDefaults standardUserDefaults] setObject:aData forKey:aKey];
[[NSUserDefaults standardUserDefaults] synchronize];

阅读:

[[NSUserDefaults standardUserDefaults] objectForKey:aKey];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 2016-12-07
    • 2020-08-13
    • 2013-03-20
    • 1970-01-01
    • 2018-05-27
    相关资源
    最近更新 更多