Как объявить 2D байтовый массив - PullRequest
1 голос
/ 03 июня 2009

Я пытаюсь создать двумерный байтовый массив.

Кто-нибудь может дать код, как объявить нулевой байтовый массив 2D в Objective-C?

Ответы [ 2 ]

3 голосов
/ 03 июня 2009

Так как target-c является строгим надмножеством c, вы можете просто использовать определение чистого c, и оно будет работать нормально:

char** myMatrix = malloc(width*height);

Вы также можете использовать NSArray из NSArrays, но это не двумерный массив. Это зубчатый массив, который значительно проще в использовании, чем простой байтовый массив.

Другой альтернативой является использование объекта NSData / NSMutableData. Это основной способ работы с байтовыми массивами. См. Ссылка на класс NSMutableData для получения дополнительной информации.

NSMutableData* data = [NSMutableData dataWithLength:1024]; // One kilobyte
void* dataPointer = [data mutableBytes]; // Get a pointer to the raw bytes
0 голосов
/ 03 июня 2009

Я обманываю, делая это в C.

size_t width;
size_t height;
unsigned char *twoDimArray = calloc(width*height);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...