2010-05-21 24 views

Antwort

8

Sie das Array mit einer Menge von Objekten initialisieren können:

NSString * blah = @"SO"; 
NSArray * items = [NSArray arrayWithObjects: blah, blah, nil]; 

oder Sie können einen änderbaren Array verwenden und die Objekte hinzufügen später:

NSMutableArray * mutableItems = [[NSMutableArray new] autorelease]; 
for (int i = 0; i < 10; i++) 
    [mutableItems addObject:blah]; 
2

Fügen Sie sie einfach mit initWithObjects: (oder welche Methode Sie bevorzugen) hinzu. Ein NSArray erfordert keine eindeutigen Objekte, so dass Sie dasselbe Objekt (oder gleiche Objekte) mehrmals hinzufügen können.

3

Wenn Sie nicht möchten, dass veränderbare Arrays verwenden und auch nicht wollen, Ihre Kennung N mal wiederholen, verwenden, dass NSArray aus einem C-Stil-Array initialisiert werden:

@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]); 
2

Jetzt , können Sie die Array-Literalsyntax verwenden.

NSArray *items = @[@"SO", @"SO", @"SO", @"SO", @"SO"];

können Sie jedes Element zugreifen wie items[0];

4

Meine ¢ 2:

NSMutableArray * items = [NSMutableArray new]; 
while ([items count] < count) 
    [items addObject: object]; 
Verwandte Themen