NSMutableArray of Structures? - PullRequest
1 голос
/ 14 июля 2011

Как я могу создать NSMutableArray of Structures?

Я могу создать массив структур в стандарте-c, но у меня возникают проблемы в target-c.

standard-c:

struct person people[10];

спасибо

1 Ответ

3 голосов
/ 14 июля 2011

Вам необходимо скопировать каждый struct в объект NSData или NSValue, чтобы поместить его в NSArray.

// in
struct person someGuy = ...;
NSData *personData = [NSData dataWithBytes:&someGuy length:sizeof(struct person)];
[personArray addObject:personData];

// out
NSData *personData = [personArray objectAtIndex:whatever];
struct person someGuy;
[personData getBytes:&someGuy];

Вы должны понимать разницу между стеком и кучей и тем, как работать с указателями(или будьте готовы учиться), иначе вы увидите много EXC_BAD_ACCESS (или, что еще хуже, без исключений, просто загадочные данные мусора).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...