проблема с преобразованием NSData в NSArray - PullRequest
2 голосов
/ 25 мая 2011

Привет У меня проблема с преобразованием NSData в NSArray

мой код:

NSData *data = [[NSData alloc] initWithBytes:(const void *)buf length:len];
NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:data];

Может ли кто-нибудь помочь мне сделать это.

Ответы [ 2 ]

1 голос
/ 02 июня 2011

Используйте +[NSPropertyListSerialization dataWithPropertyList:format:options:error:] для преобразования данных, затем проверьте, будет ли результат -isKindOfClass:[NSArray class].

Будет работать

1 голос
/ 25 мая 2011

Понятия не имею, что находится внутри вашего байтового буфера.Этот код работает для простого буфера символьных байтов.

Попробуйте:

char buf[]="123456";
NSData *bufObj=[NSData dataWithBytes:(const void *)buf length:sizeof buf];
if(bufObj==nil)
    NSLog(@"failed to create obj");
else {
    NSMutableArray *marr=[NSMutableArray array];
    [marr addObject:bufObj];
    NSArray *arr=[NSArray arrayWithObject:bufObj];

    NSLog(@"test:\n\tbufObj: %@\n\tmarr: %@\n\tarr: %@",bufObj,marr,arr);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...