Wie kann ich mehrere Objekte zu meinem NSArray hinzufügen? Jedes Objekt hat denselben Wert.NSArray: mehrere Objekte mit demselben Wert hinzufügen
Ex.
ich den Wert „SO“ hinzugefügt werden soll meine Array 10 mal
Wie kann ich mehrere Objekte zu meinem NSArray hinzufügen? Jedes Objekt hat denselben Wert.NSArray: mehrere Objekte mit demselben Wert hinzufügen
Ex.
ich den Wert „SO“ hinzugefügt werden soll meine Array 10 mal
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];
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.
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]);
Jetzt , können Sie die Array-Literalsyntax verwenden.
NSArray *items = @[@"SO", @"SO", @"SO", @"SO", @"SO"];
können Sie jedes Element zugreifen wie items[0];
Meine ¢ 2:
NSMutableArray * items = [NSMutableArray new];
while ([items count] < count)
[items addObject: object];