2010-09-18 70 views
0

恢复阵列到目前为止,我有以下几点:如何使用NSCoder

- (id)initWithCoder:(NSCoder*) coder 
{ 
    self = [super initWithCoder: coder]; 
    if (self) { 
     // Call a setup method 
    } 
    return self; 
} 

我应该把代码加载阵列会在这里?我应该放什么,我该把它放在哪里?

回答

1

你把myArray=[coder decodeObjectForKey:@"myArray"];放在if块内。

如果您还没有设置代码的编码部分的是,要做到这一点,你只需要添加一个方法:

- (void)encodeWithCoder:(NSCoder *)encoder { 
    [encoder encodeObject:myArray forKey:@"myArray"]; 
} 
+1

这将导致'myArray'被释放下一次autorelease池排出 - 你需要掌握它。 – 2010-09-18 14:46:21