как конвертировать NSArray в NSData ... или что-то - PullRequest
0 голосов
/ 13 сентября 2010

Я довольно смущен, чтобы спросить это, но у меня ограничение по времени. в основном мне нужно получить массив, который может содержать целые числа, а затем эти целые числа могут быть использованы для построения точки на изображении.

Я пытаюсь создать программу, в которой случайные объекты движутся по экрану по определенным путям, но случайным образом. Пока это мой код:

enemyPaths = [NSMutableArray array];//5 items (0-4) [enemyPaths addObject:[NSNumber numberWithInt:48]]; [enemyPaths addObject:[NSNumber numberWithInt:93]]; [enemyPaths addObject:[NSNumber numberWithInt:138]]; [enemyPaths addObject:[NSNumber numberWithInt:183]]; [enemyPaths addObject:[NSNumber numberWithInt:228]]; [enemyPaths retain];

Это Массив. Что я хочу сделать, так это уметь создавать генератор случайных чисел и иметь точку х объекта, использующую любое значение из массива в качестве отправной точки:

double i = (arc4random() % 5);


NSData *data = [NSKeyedArchiver archivedDataWithRootObject:[enemyPaths objectAtIndex: i]];
 image.x = (int)data;

Я немного растерялся, что делать, так как мои знания о преобразовании NSarray в NSdata не очень обширны, и это довольно запутанно. Буду признателен за любую помощь.

Важное замечание: я использую инфраструктуру Sparrow с этой программой, просто чтобы вы знали.

1 Ответ

0 голосов
/ 13 сентября 2010

Почему вы пытаетесь архивировать массив в первую очередь?Я думаю, что вы хотите сделать это:

image.x = [[enemyPaths objectAtIndex:i] intValue];

Здесь intValue - это метод класса NSNumber;это обратный метод numberWithInt, который вы использовали при создании массива.

...