2010-08-17 37 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];