NSArray:添加具有相同值的多个对象

Mat*_* S. 7 cocoa objective-c repeat nsarray

如何向NSArray添加多个对象?每个对象都具有相同的值.

防爆.

我想将值"SO"添加到我的数组10次

Red*_*ing 8

您可以使用一组对象初始化数组:

NSString * blah = @"SO";
NSArray * items = [NSArray arrayWithObjects: blah, blah, nil];
Run Code Online (Sandbox Code Playgroud)

或者您可以使用可变数组并稍后添加对象:

NSMutableArray * mutableItems = [[NSMutableArray new] autorelease];
for (int i = 0; i < 10; i++)
    [mutableItems addObject:blah];
Run Code Online (Sandbox Code Playgroud)


Geo*_*che 5

如果您不想使用可变数组并且也不想重复您的标识符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]);
Run Code Online (Sandbox Code Playgroud)


esp*_*esp 5

我的 ¢2:

NSMutableArray * items = [NSMutableArray new];
while ([items count] < count)
    [items addObject: object];
Run Code Online (Sandbox Code Playgroud)