gpt4 book ai didi

ios - 如何使用文件归档存储 NSObject 类的对象

转载 作者:行者123 更新时间:2023-11-29 02:54:00 26 4
gpt4 key购买 nike

我正在尝试使用文件归档来存储 NSObject 类的对象。当我尝试

[NSKeyedArchiver archiveRootObject:myObject toFile:@"filePath"];

NSArray *myArray=@[myObject];
[NSKeyedArchiver archiveRootObject:myObject toFile:@"FilePath"];

但两者都返回警告!!

* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ePub encodeWithCoder:]: unrecognized selector sent to instance 0xeac3570'

最佳答案

您需要将 encodeWithCoder 和 Decoder 放在您的 NSObject 中:

在你的标题中:

- (void)encodeWithCoder:(NSCoder *)coder;
- (id)initWithCoder:(NSCoder *)coder;

在你的.m

- (void)encodeWithCoder:(NSCoder *)coder;
{
[coder encodeObject:self.yourProperty forKey:@"yourProperty"];
}



- (id)initWithCoder:(NSCoder *)coder;
{
self = [super init];
if (self != nil)
{

self.yourProperty = [coder decodeObjectForKey:@"yourProperty"];


}
return self;
}

您需要对所有属性执行此操作。

请注意,对于其他类型,例如整数和 float ,请相应地使用decodeIntForKey 和EncodeInt。

关于ios - 如何使用文件归档存储 NSObject 类的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24138646/

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