Objective-C中的解码和编码阵列

Objective-C中的解码和编码阵列,objective-c,arrays,Objective C,Arrays,我可以用这种方法对数组进行解码和编码吗 NSMutableArray *arr; -(void)encodeWithCoder:(NSCoder*)coder { [coder encodeInt:arr forKey:@"Array"]; } -(id)initWithCoder:(NSCoder*)decoder { NSMutableArray array; array = [[decoder decodeIntForKey:@"Array"]copy];

我可以用这种方法对数组进行解码和编码吗

NSMutableArray *arr;

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

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

它不会那样对
NSMutableArray进行编码/解码。

如果数组中的对象实现了
NSCoding
协议,则可以通过调用以下命令对数组进行编码:

NSMutableArray * myMutableArray = ...
NSData* myData = [NSKeyedArchiver archivedDataWithRootObject:myMutableArray];
反过来说:

NSMutableArray* myMutableArray = [NSKeyedUnarchiver
                                             unarchiveObjectWithData:myData];

它不会那样对
NSMutableArray进行编码/解码。

如果数组中的对象实现了
NSCoding
协议,则可以通过调用以下命令对数组进行编码:

NSMutableArray * myMutableArray = ...
NSData* myData = [NSKeyedArchiver archivedDataWithRootObject:myMutableArray];
反过来说:

NSMutableArray* myMutableArray = [NSKeyedUnarchiver
                                             unarchiveObjectWithData:myData];