2010-08-17 55 views
1

我可以用这种方式解码和编码数组吗?解码和编码数组Objective-C

NSMutableArray *arr; 

-(void)encodeWithCoder:(NSCoder*)coder 
{ 
    [coder encodeInt:arr forKey:@"Array"]; 
} 

-(id)initWithCoder:(NSCoder*)decoder 
{ 
    NSMutableArray array; 
    array = [[decoder decodeIntForKey:@"Array"]copy]; 
    return self; 
} 

回答

1

它不会编码/解码NSMutableArray的方式。

如果阵列中的对象实现NSCoding协议,那么你可以通过调用编码阵列:

NSMutableArray * myMutableArray = ... 
NSData* myData = [NSKeyedArchiver archivedDataWithRootObject:myMutableArray]; 

并与反向:

NSMutableArray* myMutableArray = [NSKeyedUnarchiver 
              unarchiveObjectWithData:myData];