首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSKeyedArchiver .plist附加问题

NSKeyedArchiver .plist附加问题
EN

Stack Overflow用户
提问于 2011-06-05 12:38:19
回答 1查看 1.3K关注 0票数 0

**

我正在将表单中的数据导入数组,并尝试使用NSKeyedArchiver.

  • Writing将该数组写入.plist文件是成功的,但是每当我运行脚本时,它都会覆盖到以前的数据。

  • 如何将新数据附加到.plist文件中而不是覆盖?

**

代码语言:javascript
复制
@implementation Player

- (id)init
{
    self = [super init];
    if (self) {
        // Initialization code here.
    }
    return self;
}

- (void)dealloc
{
    [super dealloc];
}

- (IBAction)savePlayer:(id)sender {
    NSString *path = @"/Users/username/fm.plist";
    NSString *pl= [teamPlayer stringValue];
    NSString *name = [namePlayer stringValue];
    NSString *age = [agePlayer stringValue];
    NSString *position= [positionPlayer stringValue];
    Player *player = [[Player alloc] init];

    array = [[NSMutableArray alloc] initWithObjects:pl,
                                  name, age, position, nil];

    [NSKeyedArchiver archiveRootObject:array toFile:path];
    NSString *ns = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
    NSLog(@"test: %@" , ns);
    [array release];
}

-

代码语言:javascript
复制
- (void) encodeWithCoder: (NSCoder *) coder{
    [coder encodeObject:array forKey:@"someArray"];
}

- (void) decodeWithCoder: (NSCoder *) coder{
    [coder decodeObjectForKey:@"someArray"];
    return self;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-05 13:18:36

首先,后两个方法似乎不相关,因为您没有编码这些方法所属的任何对象。同样,NSCoding协议包括encodeWithCoder:initWithCoder:方法。在decodeWithCoder:协议中没有NSCoding方法。

其次,您正在创建一个新的NSMutableArray对象,该对象初始化了几个元素,并将其存档到一个文件中,以便它在现有的文件上进行写入。您需要通过解压缩文件来获取现有的数组,创建一个可变的副本,然后追加这些值。所以代码就像这样,

代码语言:javascript
复制
NSArray *existingValues = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
NSArray *newValues = [existingValues copy];
[newValues addObjectsFromArray:[NSArray arrayWithObjects:pl, name, age, position, nil]];
[NSKeyedArchiver archiveRootObject:newValues toFile:path];
[newValues release];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6242942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档