2015-07-24 3 views
0

Мне нечего сказать по этому вопросу, поскольку я ничего не мог найти на нем. Я хотел бы просто массив целых чисел, на который я могу ссылаться на цены товара в моей игре iOS. Например,Создание целочисленного массива в наборе спрайтов Xcode

Array priceArray = Array(50); 

itemAPrice = Array (0); 
itemBPrice = Array (1); 

Его эффективность не я знаю, но является просто примером. Любой свет на тему создания целочисленных/NSInteger массивов в наборе спрайтов будет полезен.

Заранее спасибо -Ryan

+1

Что условие для вашего массива ? 50 случайных цен между 'x' и' y'? И какой язык вы используете, ObjC или Swift? –

+0

@ZoffDino Я кодирую это в объективе c, и я хотел бы присвоить цены массива. Я хотел бы вводить данные в массив вручную и некоторые из них извлекать их позже, если это имеет смысл :) –

ответ

1

NSArray является неизменным в Objective-C. Вы должны использовать NSMutableArray, который является подклассом NSArray:

// Create the array. Capacity is only a suggestion, not a hard limit 
NSMutableArray * priceArray = [NSMutableArray arrayWithCapacity:50]; 

// You can't add doubles directly to the array. Wrap it inside NSNumber 
[priceArray addObject:@0.0]; 
[priceArray addObject:@1.0]; 
// ... 
[priceArray addObject:@49.0]; 

// Now get it back 
double itemAPrice = [priceArray[0] doubleValue]; 
double itemBPrice = [priceArray[1] doubleValue]; 
0

Сталкивались ли Вы NSMutableArray? Вы можете использовать это, чтобы инициализировать массив со

NSMutableArray *array = [NSMutableArray createWithObjects: /*comma separated list of int's*/]; 

Добавление и удаление элементов быстрее с removeLastElement и addElements методы, потому что они не должны изменять порядок массива. Но если вам нужно, вы можете использовать insertObject: /*object*/ atIndex: /*int*/ вместе с removeObjectAtIndex: /*int*/.

Также с NSMutableArray-х я верю, как NSArray-х, что вы можете использовать квадратные скобки, обозначения для обозначения элементов, т.е. array[i] =/элемента в междунар я /.

0

Вы могли бы сделать это с NSNumbers так:

typedef NS_ENUM(NSInteger, ItemPrice) { 
    ItemOne = 0, 
    ItemTwo, 
    ItemThree, 
    ItemFour 
}; 

// Make it mutable so we can add more prices later if we want. 
NSMutableArray *itemPrices = [@[@12, @33, @26, @44] mutableCopy]; 
NSNumber *itemPrice = [itemPrices objectAtIndex:ItemThree]; 
NSLog(@"Item Price: %@", itemPrice); 

будет приводить:

Item Price: 2 
Смежные вопросы