Я могу преобразовать указатель массива в uint8 _ t, используя:
(uint8_t *)arr
Это просто актерский состав; фактически он не конвертирует массив в последовательность байтов. Даже если вы отправили частное хранилище массива по проводам, содержимое массива - это просто адреса памяти других объектов. Адреса памяти в вашем процессе почти наверняка не совпадают в процессе получения - и это предполагает, что процесс получения выполняет Какао и будет ожидать NSArray!
Вам необходимо сериализовать содержимое массива в какое-то внешнее представление, которое получатель сможет обработать. Вы можете сделать это путем преобразования в plist , создания NSXMLDocument и , получения его данных или сборки представления в произвольном формате вручную, но не с помощью брошен один.
Но как узнать длину байтов массива?
Массив не является серией байтов; это объект. Как таковой, он не имеет длины, только (как массив) количество объектов в нем. Вам нужна серия байтов, прежде чем вы сможете получить длину серии.
Нужно ли сохранять массив в файл и считывать его как NSData?
Вам необходимо получить внешнее представление массива, предпочтительно в объекте NSData. Сказать, что он сам записал (список) в файл, и прочитать файл обратно одним способом, но есть гораздо лучшие способы, которые я перечислил выше.