gpt4 book ai didi

iphone - 如何归档 NSDictionary 的 NSArray(使用 NSCoding)?

转载 作者:行者123 更新时间:2023-12-03 20:55:26 28 4
gpt4 key购买 nike

假设我将数据保存在这样的数组中

wordList = [[NSMutableArray alloc] init];
while ([rs next]) //Some database return loop
{
wordDict = [[NSMutableDictionary alloc] init];

[wordDict setObject:[NSNumber numberWithInt:[rs intForColumn:@"id"]] forKey:@"id"];
[wordDict setObject:[rs stringForColumn:@"word"] forKey:@"word"];

[wordList addObject: wordDict];

[wordDict release];
wordDict = nil;
}

但我想将此结果(即 wordList)存储在 SQLite 中以供以后使用 - 我想使用 NSCoding。我该怎么做呢?(如果存在问题,请随时指出分配方式中的任何错误)。

最佳答案

如果您不坚持使用 NSCoding 进行序列化,NSArrayNSDictionary 上都有一个 writeToFile:atomically: 方法。这会将您的对象序列化为属性列表 (*.plist)。唯一的问题是“树”中要序列化的所有对象都必须是 NSStringNSDataNSArrayNSDictionary (请参阅文档)。我不确定 NSNumber 如何适应,但幸运的话它也会被序列化和反序列化。将文件转回字典或数组的逆方法称为 initWithContentsOfFile:

对于您的代码,我只会使用 [NSMutableDictionary Dictionary] 方便方法来为您提供自动发布的字典。它比通常的 allocinit 更短,并且您可以为显式释放保存一行。

关于iphone - 如何归档 NSDictionary 的 NSArray(使用 NSCoding)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5447786/

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