Ios 在iPhone多任务处理中关闭应用程序后,如何保存/加载数据?

Ios 在iPhone多任务处理中关闭应用程序后,如何保存/加载数据?,ios,Ios,我创建了一个应用程序,它需要在表视图中添加并显示添加的信息。但是,有时我们可能会在多任务处理中关闭应用程序 我想知道如何在关闭应用程序后,我们仍然可以继续上次关闭应用程序的位置(或重新启动后) 当前实施: 示例(在关闭应用程序之前和中添加了一些信息) 第一号名单 清单2 示例:(关闭应用程序并重新启动后:不显示任何内容) -零- 想要实施: 示例(在关闭应用程序中和之前添加了一些信息): 第一号名单 清单2 清单3 示例:(关闭应用程序并重新启动后:显示关闭应用程序前显示的内容)

我创建了一个应用程序,它需要在表视图中添加并显示添加的信息。但是,有时我们可能会在多任务处理中关闭应用程序

我想知道如何在关闭应用程序后,我们仍然可以继续上次关闭应用程序的位置(或重新启动后)

当前实施:

示例(在关闭应用程序之前和中添加了一些信息)

  • 第一号名单
  • 清单2
示例:(关闭应用程序并重新启动后:不显示任何内容)

  • -零-
想要实施:

示例(在关闭应用程序中和之前添加了一些信息):

  • 第一号名单
  • 清单2
  • 清单3
示例:(关闭应用程序并重新启动后:显示关闭应用程序前显示的内容)

  • 第一号名单
  • 清单2
  • 清单3
我一直在四处寻找答案,但毫无结果。我真的希望能得到一些帮助

谢谢

在tableview中检索和显示数据的代码:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"class" forIndexPath:indexPath];

MSDDataController *dc = [MSDDataController sharedInstance];

NSArray  *dataArray = [dc getAllElement];

long row = [indexPath row];

NSString *moduleName = [dataArray[row]moduleName];
[[cell textLabel]setText: moduleName];

NSString *moduleVenue = [dataArray[row]moduleVenue];
[[cell detailTextLabel]setText:moduleVenue];

return cell;

根据您的评论,您的问题似乎是持久化已添加到表中的数据。一旦关闭应用程序,数据就会消失,因此您需要以某种方式存储这些值,然后在下次打开应用程序时重新加载它们。如何持久化数据取决于要存储的信息量。如果是非常简单的相对少量的数据,您可以使用plist,否则您可能需要查看CoreData

这里可以看到使用plist的示例。您的应用程序可能更适合使用更复杂但功能更强大的CoreData,例如,您可以在线查看大量教程

基本上,在关闭应用程序之前,您需要调用MSDataController并要求它将信息写入设备,然后在再次加载ViewController时,调用MSDataController并让它将信息加载回内存并传递给ViewController


目前,您只是将值添加到仅存储在内存中的数组中。一旦关闭并重新打开应用程序,内存中的值将丢失。

这是一个单屏幕应用程序,因此您只需要重新显示数据,还是需要导航到应用程序重新启动前打开的同一个ViewController。如果您包含当前如何获取表中显示信息的示例代码,可能会有所帮助。@Stuart,我实际上关心的是重新显示上次添加(或保存)的数据。好的,您的MSDataController如何存储已添加的信息?它将信息存储为:
+(MSDDataController*)sharedInstance;-(void)addElement:(MSDData*)data;-(void)removeElement:(MSDData*)data;-(int)getNumberOfElement;-(NSArray*))GetAllegment;
MSDData将存储不同数据的位置,如名称、类等。当用户在多任务屏幕中关闭应用程序时,会调用什么事件/选择器/方法(如果有)?Xcode报告调试器发出的
消息:由于信号9
而终止(即
SIGKILL
,无法捕获)。是否使用了
AppDelegate.applicationWillResignActive
,当用户按下“主页”按钮时会调用它,这是次优选项?