回答:
プレーンな古いC配列を使用できます。
NSInteger myIntegers[40];
for (NSInteger i = 0; i < 40; i++)
myIntegers[i] = i;
// to get one of them
NSLog (@"The 4th integer is: %d", myIntegers[3]);
それとも、あなたは使用することができるNSArray
かNSMutableArray
が、ここであなたが内部の各整数をラップする必要がありますNSNumber
(ので、インスタンスNSArray
オブジェクトは、クラスのインスタンスを保持するように設計されているが)。
NSMutableArray *myIntegers = [NSMutableArray array];
for (NSInteger i = 0; i < 40; i++)
[myIntegers addObject:[NSNumber numberWithInteger:i]];
// to get one of them
NSLog (@"The 4th integer is: %@", [myIntegers objectAtIndex:3]);
// or
NSLog (@"The 4th integer is: %d", [[myIntegers objectAtIndex:3] integerValue]);
NSArray
と、パフォーマンスへの影響は感じられないと思います。
C配列:
NSInteger array[6] = {1, 2, 3, 4, 5, 6};
Objective-Cアレイ:
NSArray *array = @[@1, @2, @3, @4, @5, @6];
// numeric values must in that case be wrapped into NSNumbers
Swiftアレイ:
var array = [1, 2, 3, 4, 5, 6]
これも正しいです:
var array = Array(1...10)
注意:配列はSwiftで強く型付けされています。その場合、コンパイラは内容から配列が整数の配列であると推測します。次の明示的な型の構文も使用できます。
var array: [Int] = [1, 2, 3, 4, 5, 6]
Doubleの配列が必要な場合は、次を使用します。
var array = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0] // implicit type-inference
または:
var array: [Double] = [1, 2, 3, 4, 5, 6] // explicit type
NSArrayの代わりにCFArrayを使用できます。こちらがその方法を説明した記事です。
CFMutableArrayRef ar = CFArrayCreateMutable(NULL, 0, NULL);
for (NSUInteger i = 0; i < 1000; i++)
{
CFArrayAppendValue(ar, (void*)i);
}
CFRelease(ar); /* Releasing the array */
同じことが他のコンテナのCoreFoundationバージョンにも当てはまります。
古き良きC配列の周りにシンプルなObjective Cラッパーを作成して、より便利に使用できるようにしました。https://gist.github.com/4705733
整数の順序が不要で、一意の値しかない場合
NSIndexSetまたはNSMutableIndexSetを使用することもできます。整数を簡単に追加または削除したり、配列に整数が含まれているかどうかを確認したりできます。
- (void)addIndex:(NSUInteger)index
- (void)removeIndex:(NSUInteger)index
- (BOOL)containsIndexes:(NSIndexSet *)indexSet
詳細については、ドキュメントを確認してください。
NSSet
(で包み、使用して整数NSNumber
)?
NSNumbersを使う方がずっと簡単だと思います。これはあなたがする必要があるすべて:
NSNumber *myNum1 = [NSNumber numberWithInt:myNsIntValue1];
NSNumber *myNum2 = [NSNumber numberWithInt:myNsIntValue2];
.
.
.
NSArray *myArray = [NSArray arrayWithObjects: myNum1, myNum2, ..., nil];
for
または、別の配列を数値に使用できますarrayWithArray
。