1

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

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

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

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

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

NSArray *receivedArray = [encodedArray bytes];

但它会崩溃。

4

2 回答 2

1

请改用此代码:

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

...

NSArray *arrayCopy = [NSKeyedUnarchiver unarchiveObjectWithData:data];

请参阅有关该主题的Apple 指南

于 2013-03-01T15:45:26.240 回答
0

试试这个:

NSArray *array=[NSKeyedUnarchiver unarchiveObjectWithData:encodedArray]
于 2013-03-01T15:43:39.460 回答