/ / pass tablica int pomiędzy kontrolerami widoku - target-c, tablice, int, viewcontroller

przekazuje tablicę int pomiędzy kontrolerami widoku - target-c, tablice, int, viewcontroller

Mam liczbę całkowitą, którą chciałbym przekazać z jednego kontrolera widoku do drugiego.

Mogę przekazywać ciągi od jednego widoku do etykiety w innym, ale nie jestem w stanie tego zrobić z tablicą int.

Zasadniczo zadeklarowałem następujące w viewController_A: -

int totalArray [30];

i chcę przekazać go do viewController_B

Odpowiedzi:

3 dla odpowiedzi № 1

Nie powinno być żadnej różnicy między przekazaniem tablicy całkowitej a ciągiem z jednego kontrolera ViewController do innego.

Wysyłanie danych między ViewController jest stosunkowo proste, Oto link do czegoś, co uznałem za przydatne, kiedy po raz pierwszy wysłałem dane między ViewControllerami. Przekazywanie danych między kontrolerami widoku

Upewnij się, że deklaracja macierzy jest silna:

@property (nonatomic, strong)NSMutableArray *exampleArray;

Edytować: Próba przekazania tablicy liczb całkowitych byłaby znacznie większa niż utrzymanie wartości wewnątrz obiektu NSMutableArray lub NSArray, ponieważ nie można zadeklarować tablicy w stylu c jako właściwości bez obejścia, jak można zobaczyć w tym wpisie. Utwórz tablicę właściwości liczb całkowitych w Objective C

Jeśli spojrzysz na odpowiedź robottobora na ten link, zobaczysz, jak możesz zaimplementować tablicę jako właściwość, ale ponownie zdecydowanie zalecamy użycie NSMutableArray lub NSArray.


0 dla odpowiedzi nr 2

Po prostu ustaw właściwość w odbiorczym kontrolerze widoku: @property (nonatomic, strong) tablica NSArray *

Następnie w prepareForSegue wystarczy uzyskać dostęp do tej właściwości destViewController.array = intArray


0 dla odpowiedzi № 3

Poniżej opisuję prosty sposób przekazywania tablicy między dwoma kontrolerami.

Załóżmy, że chcesz mieć tablicę dwukierunkową od kontrolera1 do kontrolera2.

  1. utwórz tablicę w kontrolerze2.
  2. importuj plik kontrolera2 w kontrolerze1.
  3. utwórz obiekt pliku kontrolera2.

Kod:

controller2 *cn2 = (controller2 *)[self.storyboard instantiateViewControllerWithIdentifier:@"storyboard_identifier"]; // create object of second controller

cn2.array_name = array_name; //pass first controller array to second controller

[self.navigationController pushViewController:cn2 animated:YES]; // redirect to second controller

Dziękuję Ci.