gpt4 book ai didi

objective-c - NSCoder - 使用多级嵌套数组对数组进行编码

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:23:57 27 4
gpt4 key购买 nike

我有一个 mainObjectArray (NSMutableArray),其中填充了自定义类的实例。每个实例本身就是一个数组,每个数组中的对象是 NSDates、NSStrings、BOOL 以及更多包含类似对象的数组。

我无法确定的是,在

- (void)encodeWithCoder:(NSCoder *)encoder 

方法,就这么说吧:

[encoder encodeWithObject:mainObjectArray];

或者必须分别对每个实例中的每个对象进行编码?这会有点痛苦......

非常感谢您的帮助。

最佳答案

只需在自定义类中实现编码和解码方法即可。这样就可以了。一些样本,

- (void)encodeWithCoder:(NSCoder *)encoder
{
[encoder encodeObject:[NSNumber numberWithInt:pageNumber] forKey:@"pageNumber"];
[encoder encodeObject:path forKey:@"path"];
[encoder encodeObject:array forKey:@"array"];
}

- (id)initWithCoder:(NSCoder *)aDecoder
{
if(self = [super init])
{
self.pageNumber = [[aDecoder decodeObjectForKey:@"pageNumber"] intValue];
self.path = [aDecoder decodeObjectForKey:@"path"];
self.array = [aDecoder decodeObjectForKey:@"array"];
}
}

您可以看到正在编码和解码的总共三种数据类型 - int、string、array。

希望这对您有所帮助。

关于objective-c - NSCoder - 使用多级嵌套数组对数组进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9343570/

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