民间,
我尝试使用NSCoder类将对象数组转换为pList。我可以将一些直接对象保存到plist中。对于Ex:我称为“ExClass'使用Sample(NSString)属性。现在我可以保存一系列的ExClass'对象到pList文件。现在我尝试了这个,但我得到了例外
示例:
Class FirstName
{
NsString *first_name;
}
Class LastName
{
NsString *last_name;
}
Class Name: FirstName, LastName
{
FirstName *first;
LastName *last;
}
现在我想保存一个名称集合,它应该包含名字和姓氏。我试过这种方式
.h文件:
#import "Name.h"
@interface sample : NSObject <NSCoding>
@property (nonatomic, strong) Name *name;
@end
.m文件:
#import "sample.h"
@implementation sample
@synthesize name;
- (id)initWithCoder:(NSCoder *)aDecoder
{
if(self = [super init]) {
self.name = [aDecoder decodeObjectForKey:@"Name"];
}
return self;
}
- (void)encodeWithCoder:(NSCoder *)encoder
{
self.name = [encoder encodeObject: self.first forKey:@"Name"];
}
@end
我有一个例外,它说,&#34;由于未捕获的异常终止应用程序&#39; NSInvalidArgumentException&#39;,原因:&#39; - [Name encodeWithCoder:]:无法识别的选择器发送到实例&# 34 ;.
请各位帮忙