gpt4 book ai didi

objective-c - 如何将自定义对象的 NSArray 存档到 Objective-C 中的文件

转载 作者:太空狗 更新时间:2023-10-30 03:57:22 24 4
gpt4 key购买 nike

你能告诉我在 Objective-C 中归档自定义对象的 NSArray 的语法或任何示例程序吗?

最佳答案

查看 NSUserDefaults .

要归档数组,您可以使用以下代码:

[[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver archivedDataWithRootObject:myArray] forKey:@"mySavedArray"];

然后为了在数组中加载自定义对象,您可以使用以下代码:

NSUserDefaults *currentDefaults = [NSUserDefaults standardUserDefaults];
NSData *savedArray = [currentDefaults objectForKey:@"mySavedArray"];
if (savedArray != nil)
{
NSArray *oldArray = [NSKeyedUnarchiver unarchiveObjectWithData:savedArray];
if (oldArray != nil) {
customObjectArray = [[NSMutableArray alloc] initWithArray:oldSavedArray];
} else {
customObjectArray = [[NSMutableArray alloc] init];
}
}

确保检查从用户默认值返回的数据不是nil,因为这可能会使您的应用崩溃。

您需要做的另一件事是使您的自定义对象符合 NSCoder 协议(protocol)。您可以使用 -(void)encodeWithCoder:(NSCoder *)coder-(id)initWithCoder:(NSCoder *)coder 方法执行此操作。

关于objective-c - 如何将自定义对象的 NSArray 存档到 Objective-C 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3493156/

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