2010-09-18 57 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