Как я могу добавить несколько объектов в свой NSArray? Каждый объект будет иметь одинаковое значение.
Ex.
Я хочу, чтобы значение "SO" добавлялось в мой массив 10 раз.
Как я могу добавить несколько объектов в свой NSArray? Каждый объект будет иметь одинаковое значение.
Ex.
Я хочу, чтобы значение "SO" добавлялось в мой массив 10 раз.
Вы можете инициализировать массив набором объектов:
NSString * blah = @"SO";
NSArray * items = [NSArray arrayWithObjects: blah, blah, nil];
или вы можете использовать изменяемый массив и добавить объекты позже:
NSMutableArray * mutableItems = [[NSMutableArray new] autorelease];
for (int i = 0; i < 10; i++)
[mutableItems addObject:blah];
Если вы не хотите использовать изменяемые массивы, а также не хотите повторять свой идентификатор N раз, используйте то, что NSArray
можно инициализировать из массива в стиле C:
@interface NSArray (Foo)
+ (NSArray*)arrayByRepeatingObject:(id)obj times:(NSUInteger)t;
@end
@implementation NSArray (Foo)
+ (NSArray*)arrayByRepeatingObject:(id)obj times:(NSUInteger)t {
id arr[t];
for(NSUInteger i=0; i<t; ++i)
arr[i] = obj;
return [NSArray arrayWithObjects:arr count:t];
}
@end
// ...
NSLog(@"%@", [NSArray arrayByRepeatingObject:@"SO" times:10]);
Просто добавьте их с помощью initWithObjects:
(или любой другой метод, который вы предпочитаете). NSArray
не требует, чтобы его объекты были уникальными, поэтому вы можете добавлять один и тот же объект (или одинаковые объекты) несколько раз.
Теперь вы можете использовать синтаксис литерала массива.
NSArray *items = @[@"SO", @"SO", @"SO", @"SO", @"SO"];
Вы можете получить доступ к каждому элементу, например items[0];