Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 应用程序终止后,如何在NSMutableArray中保存对象?_Cocoa_Nsmutablearray_Nsuserdefaults - Fatal编程技术网

Cocoa 应用程序终止后,如何在NSMutableArray中保存对象?

Cocoa 应用程序终止后,如何在NSMutableArray中保存对象?,cocoa,nsmutablearray,nsuserdefaults,Cocoa,Nsmutablearray,Nsuserdefaults,我想保存用户添加到NSMutableArray的对象,即使我退出应用程序,我也可以看到和使用这些对象。 我试图使用NSUserDefaults,但我做错了什么 谢谢 您所说的“即使退出应用程序也能查看和使用”是什么意思?当应用程序未运行时,是否尝试使用此选项?那恐怕不行。或者,您是否正在尝试保存数据并在应用程序再次运行时使用这些数据?然后,您可以在应用程序终止时将数组写入文档目录,并在应用程序再次运行时再次加载 为了保存:- 终止应用程序时,将调用应用程序代理的applicationWillTe

我想保存用户添加到NSMutableArray的对象,即使我退出应用程序,我也可以看到和使用这些对象。 我试图使用NSUserDefaults,但我做错了什么

谢谢

您所说的“即使退出应用程序也能查看和使用”是什么意思?当应用程序未运行时,是否尝试使用此选项?那恐怕不行。或者,您是否正在尝试保存数据并在应用程序再次运行时使用这些数据?然后,您可以在应用程序终止时将数组写入文档目录,并在应用程序再次运行时再次加载

为了保存:-

终止应用程序时,将调用应用程序代理的applicationWillTerminate方法。您需要在此方法中保存数组

- (void)applicationWillTerminate:(UIApplication *)application { // get the file path NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *filePath = [documentsDirectory stringByAppendingPathComponent:FILE_NAME]; // save the file [myArray writeToFile:filePath atomically:TRUE]; } -(无效)申请将终止:(UIApplication*)申请{ //获取文件路径 NSArray*Path=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,是); NSString*documentsDirectory=[paths objectAtIndex:0]; NSString*filePath=[DocumentsDirectoryStringByAppendingPathComponent:文件名]; //保存文件 [myArray writeToFile:filePath原子性:TRUE]; }
我正在尝试保存数据—对象及其在此行中的顺序:NSString*filePath=[DocumentsDirectoryStringByAppendingPathComponent:FILE_NAME];我应该创建什么类型的文件?非常感谢你!数组将另存为plist。所以您应该使用.plist作为扩展。作为什么的扩展?我应该创建一个.plist文件吗?文件名=@“myArray.plist”。您不需要创建文件。writeToFile方法将为您创建一个。您只需传递所需的完整文件名。“我尝试使用NSUserDefaults,但我做错了什么。”您需要向我们展示代码,以便我们可以告诉您做错了什么以及如何修复它。