Как я могу преобразовать NSData в const uint8_t? Или получить ошибку при передаче NSData через Wi-Fi - PullRequest
5 голосов
/ 25 мая 2011

у меня есть массив с двумя строками:

NSArray *sendingArray = [[NSArray alloc]initWithObjects:@"CAT",@"DOG",nil];

и я преобразовал массив в NSData:

NSData *myData = [NSKeyedArchiver archivedDataWithRootObject:sendingArray];

теперь мне нужно конвертировать NSData(myData) в const uint8_t

Я делаю этот код для отправки массива значений через сеть Wi-Fi.

Я успешно отправил строку через Wi-Fi, используя приведенный ниже код (моя строка "строка").

 const uint8_t *message = (const uint8_t *)[string UTF8String]; 

    [_outStream write:bytes maxLength:len];

Я написал приведенный ниже код для отправки объекта NSData, но он получил ошибку.

код:

const uint8_t *bytes = (uint8_t)[myData bytes];//this line getting error.
    [_outStream write:bytes maxLength:len];

Могу ли я отправить мой NSData(myData) с помощью вышеуказанного метода без преобразования его в const uint8_t? если да, пожалуйста, дайте мне код, который мне нужно написать.

или любой может подсказать мне, как конвертировать мои NSData(myData) в const uint8_t

1 Ответ

19 голосов
/ 25 мая 2011
 const uint8_t *bytes = (const uint8_t*)[myData bytes];
 //                                   ^^ note the asterisk
...