如何将NSData转换回NSArray

时间:2013-03-01 15:42:32

标签: ios nsarray nsdata binary-data

所以首先我有这个代码将NSArray转换为NSData:

NSArray *myArray = [[NSArray alloc] initWithObjects:[NSNumber numberWithInt:3], nil];

NSData* encodedArray = [NSData dataWithBytes:myArray length:1];

现在我想将它转换回NSArray,但我不知道该怎么做。

这就是我尝试这样做的方式:

NSArray *receivedArray = [encodedArray bytes];

但它崩溃了。

2 个答案:

答案 0 :(得分:1)

请改用此代码:

NSArray *myArray = [[NSArray alloc] initWithObjects:[NSNumber numberWithInt:3], nil];
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:myArray];

...

NSArray *arrayCopy = [NSKeyedUnarchiver unarchiveObjectWithData:data];

请参阅主题的Apple Guide

答案 1 :(得分:0)

试试这个:

NSArray *array=[NSKeyedUnarchiver unarchiveObjectWithData:encodedArray]