2010-02-25 27 views

Odpowiedz

16

Spróbuj czegoś takiego.

#import <foundation/foundation.h> 
int main (int argc, const char * argv[]) 
{ 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
    NSMutableArray *myArray = [NSMutableArray array]; 
    [myArray addObject:@"first string"]; 
    [myArray addObject:@"second string"]; 
    [myArray addObject:@"third string"]; 
    int count = [myArray count]; 
    NSLog(@"There are %d elements in my array", count); 
    [pool release]; 
    return 0; 
} 

Pętla będzie wyglądać następująco:

NSString *element; 
int i; 
int count; 
for (i = 0, count = [myArray count]; i < count; i = i + 1) 
{ 
    element = [myArray objectAtIndex:i]; 
    NSLog(@"The element at index %d in the array is: %@", i, element); 
} 

Zobacz CocoLab

+0

To nie odpowiada, w jaki sposób ASYGNOWAĆ do określonego indeksu. Tylko jak z niego czytać. –

10
NSMutableArray* abc = [NSMutableArray array]; 
for (int i = 0; i < 10; ++ i) 
    [abc addObject:[NSNumber numberWithInt:i]]; 
return abc; 

Tutaj

  • NSMutableArray jest "zmienny" typu array. Istnieje również stała macierz typu NSArray. W przeciwieństwie do C++, tablica ObjC nie jest wpisana. Możesz przechowywać dowolne obiekty ObjC w NSArray.
  • -addObject: dołącza ObjC na końcu tablicy.
  • Ponieważ NSArrays może przechowywać tylko ObjC, musisz "zapakować" liczbę całkowitą do numeru NSNumber.

To jest właściwie bardziej podobny do kodu C++

std::vector<int> abc; 
for (int i = 0; i < 10; ++ i) 
    abc.push_back(i); 
return abc; 
3

widzę jakąś odpowiedź korzystając NSMutableArray, wt różni się między to i NSArray?

NSArray jest niezmienne: to nie może być zmieniony. NSMutableArray jest podklasą, która jest zmienna i dodaje metody do interfejsu tablicy, pozwalając na manipulowanie jej zawartością. Jest to wzorzec widoczny w wielu miejscach w kakao: NSString, NSSet i NSDictionary są szczególnie częstymi przykładami, które są wszystkimi niezmiennymi obiektami z zmiennymi podmiennymi.

Najważniejszym powodem jest wydajność. Możesz założyć o zarządzaniu pamięcią i bezpieczeństwie wątków z niezmiennymi obiektami, których nie możesz zrobić z obiektami, które mogą się od ciebie różnić.

Powiązane problemy