Имам в цяло число масив, който бих искал да премине от един контролер на изглед към друг.
Мога да предавам струни от един изглед на етикет в друг, но не мога да го направя с int масив.
По принцип съм декларирал следното в viewController_A: -
int totalArray [30];
и искам да го предам, за да видите Controller_B
Отговори:
3 за отговор № 1Не трябва да има разлика между преминаването на цяло число и низ от един ViewController в друг.
Изпращането на данни между ViewControllers е сравнително лесно, тук е линк към нещо, което намерих полезно, когато за първи път изпратих данни между ViewControllers. Прехвърляне на данни между контролерите за преглед
Уверете се, че декларацията ви за масива е силна:
@property (nonatomic, strong)NSMutableArray *exampleArray;
Редактиране: Опитвайки се да предадете цяло число масив би било много повече работа от това, че държите вашите ценности вътре в NSMutableArray или NSArray, тъй като не можете да декларирате масив стил c като собственост без работа, както може да се види в тази публикация Създайте масив от свойства с цели числа в Цел С
Ако погледнете отговора на robottobor на тази връзка, ще видите как можете да внедрите масива като собственост, но отново силно ви препоръчвам да използвате NSMutableArray или NSArray.
0 за отговор № 2
Просто направете собственост в приемащия контролер на изгледа: @property (неатомичен, силен) NSArray * масив
След това в prepareForSegue просто достъп до тази собственост destViewController.array = intArray
0 за отговор № 3
Тук описвам лесен начин за преминаване на масив между два контролера.
Да предположим, че искате два масива от контролер1 до контролер2.
- създаване на масив в контролер2.
- вход контролер2 файл в контролер1.
- създаване на обект на контролер2 файл.
Код:
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
Благодаря ти.