Как я могу отобразить данные выбранной строки из таблицы в подробном представлении в контроллере с разделением?

Мне удалось прочитать некоторые значения в виде таблицы и отобразить их в главном представлении SplitViewController.

Что я хотел бы сделать, так это нажать на строку основного представления и отобразить подробности в detailViewController, но в TableView.

Когда я нажимаю на строку в таблице MasterView, я не могу получить детали для заполнения таблицы подробностей.

Какие-либо предложения?

Заранее спасибо.


person Neha    schedule 15.12.2010    source источник
comment
Нужно ли мне использовать отдельное представление Ipad с файлом типа контроллера для TableView (который находится в подробном представлении), на котором я хочу отображать подробную информацию, или мне нужно создать подкласс для этого табличного представления в файле detailcontroller.xib.cs сам? Пожалуйста, помогите мне.   -  person Neha    schedule 15.12.2010


Ответы (3)


Вот что вам нужно сделать:

  • Добавьте выход к вашему главному контроллеру представления, который является ссылкой на ваш контроллер подробного представления.
  • Подключите эту розетку (либо в Интерфейсном Разработчике, либо в коде)
  • Добавьте свойства в подробное представление для значений, которые вы хотите отобразить.
  • в вашей реализации tableView:didSelectRowAtIndexPath: получить данные для выбранной строки и установить соответствующие свойства в подробном представлении
person Denis Hennessy    schedule 15.12.2010
comment
Привет Денис, не могли бы вы быть немного более конкретным и ясным, так как я новичок в этой области. Спасибо. - person Neha; 15.12.2010

Прочтите этот базовый учебник.

http://doronkatz.com/ipad-programming-tutorial-hello-world

Просмотрите пример кода и посмотрите, что вы делаете неправильно или упускаете.

РЕДАКТИРОВАТЬ: это учебник по splitViewController.

person Bourne    schedule 15.12.2010

может быть, этот код поможет вам

в файле table View .m

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

if(self.dvController == nil){
    DetailsViewController *viewControoler = [[DetailsViewController  alloc]initWithNibName:@"detailsViewController" bundle:[NSBundle mainBundle]];
    self.dvController = viewControoler;
    [viewControoler release];
}

DocumentNavController *docObjNew = [appdelegate.noteArray objectAtIndex:indexPath.row];

[docObjNew hydrateDetailViewData];
//
dvcontroller.noteObj = docObjNew;  //noteobj reference  from in DetailsViewController.m file DocumentNavController *noteObj;

dvcontroller.currentindex = indexPath.row;


[self.navigationController pushViewController:self.dvController animated:YES];

self.dvController.title = [docObjNew noteTitle];
[self.dvController.noteTitelFiled setText:[docObjNew noteTitle]];
[self.dvController.notediscView setText:[docObjNew noteDisc]];



}

в виде таблицы .h файл

@interface DocumentTableViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> {

UITableView *documenttableView;

evernoteAppDelegate *appdelegate;
UINavigationController *navControll;
DetailsViewController *dvcontroller;
DocumentNavController *docNavContro;

//NSIndexPath *selectIndexPath;


}

@property (nonatomic, retain)DetailsViewController *dvController;
@property (nonatomic, retain)DocumentNavController *docNavContro;
@property (nonatomic, retain)UITableView *documenttableView;

в файле DetailsViewController.h

UITextField *noteTitelFiled;
UITextView *notediscView;

DocumentNavController *noteObj;

@property (nonatomic, retain)IBOutlet UITextField *noteTitelFiled;
@property (nonatomic, retain)IBOutlet UITextView *notediscView;
@property (nonatomic, retain)DocumentNavController *noteObj;
person nlg    schedule 16.12.2011