所以首先我有这个代码将NSArray转换为NSData:
NSArray *myArray = [[NSArray alloc] initWithObjects:[NSNumber numberWithInt:3], nil];
NSData* encodedArray = [NSData dataWithBytes:myArray length:1];
现在我想将它转换回NSArray,但我不知道该怎么做。
这就是我尝试这样做的方式:
NSArray *receivedArray = [encodedArray bytes];
但它崩溃了。
答案 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]