2013-06-17 1 views
0

У меня есть массив. Эта загрузка массива из веб-службы в TableView.Как отобразить значение выбранной строки для следующего контроллера?

Есть все BranchId в tableview.I нужно отображать поля выбранного branchId при выбранной строке.

например Selected "1234" в Tableview

Открыть контроллер нового вида (DetailViewController):

BranchID: 1234

BranchName: ABCDEFGH

У меня есть Branchname в вебе-службе

Столы для просмотра: http://pastie.org/8052416

Как отобразить детали выбранного ID на новом контроллере? Благодаря

+0

Вы смотрели на шаблон проекта мастер-деталь Xcode? – Wain

+0

@Wain Я не могу использовать master-detail.It является единственным видом – Mhmt

+0

. Ваш вид таблицы - это один контроллер, и вы хотите передать выбранное значение строки другому контроллеру. Это мастер-деталь ... – Wain

ответ

1

вы должны изменить метод didSelectRow по ниже способом:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

    DetailViewController *second=[[DetailViewController alloc] 
initWithNibName:@"DetailViewController" bundle:nil] ; 

    second.branchId = [myArray objectAtIndex:indexPath.row]; 

    [self presentModalViewController:second animated:YES]; 
} 
+0

Я не понимаю. Не решил – Mhmt

+0

В коде, который вы ввели, измените приведенный выше метод, как показано. – Apurv

2

Существует различные способы, вот один: С первого ViewController:

NSDictionary* dict = [NSDictionary dictionaryWithObject: 
          [NSNumber numberWithInt:theIdYouWantToSend] 
                forKey:@"index"]; 

[[NSNotificationCenter defaultCenter] postNotificationName: @"getID" object: dict]; 

Теперь от контроллера нового вида (detailViewController), в методе viewDiDLoad:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getID:) name:@"getID" object:nil]; 

и создать метод:

-(void)getID:(NSNotification*)notification{ 
    NSDictionary* dict = (NSDictionary*) notification.object; 

} 

Вы можете легко получить идентификатор из словаря

myId = [dict objectForKey:@"index"]; 
+0

сделал это ответ на ваш вопрос? если да, отметьте это как ответ. Cheers – DrDev

Смежные вопросы