как передать выбранный массив из другого в другой - PullRequest
2 голосов
/ 01 августа 2011

Кто-нибудь может подсказать мне, как сделать что-то вроде этого:

enter image description here

Мне удалось сделать первый и последний экран, мне нужно вставить еще 1 между ними.

Есть ли урок, из которого я могу поучиться?

большое спасибо:)

Ответы [ 3 ]

2 голосов
/ 01 августа 2011

Создание контроллера uinavigation с uitableview должно помочь вам в достижении вашей цели.

Для этого есть много учебных пособий.Быстрый поиск в Google привел меня к этому .В основном вы можете использовать один контроллер навигации и один класс uitableviewcontroller и создавать и добавлять элементы к ним.Если вы не можете понять концепции этого учебника, добавьте комментарий, где вы застряли.Я постараюсь редактировать этот пост соответственно.

1 голос
/ 01 августа 2011

на экране1:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
 {
    Screen2 *screen2 = [[Screen2 alloc]initWithNibName:.......];
    screen2.itsArray = [[NSMutableArray alloc] init];       
    if(indexPath.row == 1)
       {
         screen2.itsArray = yourArrayForScreen2_FirstRow;
       }
    else if(indexPath.row == 2){
         screen2.itsArray = yourArrayForScreen2_SecondRow;
      }else{ ...... }
   [self.viewController pushViewCOntroller .....];
 }

на экране2: NSMutableArray * itsArray;@property и @ snynthesize

теперь используют свой массив по мере необходимости.на экране2 сделайте то же самое, что и на экране1 для экрана3

1 голос
/ 01 августа 2011

То, что вам нужно, это в основном NSMutableArray с NSMutableArray

например.

obj1, obj2, obj3 ... nil - это диктат. в вашем примере

NSMutableArray *middleScreenElement1 = [NSMutableArray arrayWithObjects:obj1,obj2,obj3...,nil];

NSMutableArray *middleScreenElement2 = [NSMutableArray arrayWithObjects:obj1,obj2,obj3...,nil];

NSMutableArray *middleScreenElement3 = [NSMutableArray arrayWithObjects:obj1,obj2,obj3...,nil];

NSMutableArray *firstScreen = [NSMutableArray arrayWithObjects:middleScreenElement1,middleScreenElement2,middleScreenElement3];

В вашем первом TableView добавьте следующий метод ..

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
   NSMutableArray *middleScreenArray = (NSMutableArray*)[firstScreen objectAtIndex:indexPath.row];
    NextTableViewController *nTVC = [NextTableViewController alloc]initWithArray:middleScreenArray];
}

теперь вы можете использовать массив для заполнения вашего табличного представления, как на среднем экране.

** обратите внимание, что вы должны создать initWithArray:(NSMutableArray*)array метод в вашем middleScreenViewController

Надеюсь, это поможет ..:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...