将自定义对象(它有一些子对象)集合保存到pList?

时间:2014-04-25 14:04:49

标签: ios objective-c plist nscoding

民间,

我尝试使用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 ;.

请各位帮忙

0 个答案:

没有答案