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 に答える