2010-05-21 30 views

Trả lời

8

Bạn có thể khởi tạo mảng với một tập các đối tượng:

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

hoặc bạn có thể sử dụng một mảng có thể thay đổi và thêm các đối tượng sau:

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

Chỉ cần thêm chúng với initWithObjects: (hoặc bất kỳ phương pháp nào bạn thích). An NSArray không yêu cầu đối tượng của nó là duy nhất, vì vậy bạn có thể thêm cùng một đối tượng (hoặc đối tượng bằng nhau) nhiều lần.

3

Nếu bạn không muốn sử dụng mảng có thể thay đổi và cũng không muốn lặp lại nhận dạng của bạn N lần, sử dụng mà NSArray có thể được khởi tạo từ một mảng C-style:

@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

Bây giờ , bạn có thể sử dụng cú pháp ngữ pháp mảng.

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

Bạn có thể truy cập vào từng yếu tố như items[0];

4

My ¢ 2:

NSMutableArray * items = [NSMutableArray new]; 
while ([items count] < count) 
    [items addObject: object]; 
Các vấn đề liên quan