Нажмите разные контроллеры представления с таблицей заполненной списком - PullRequest
0 голосов
/ 11 ноября 2009

Вот код, который у меня есть в viewcontroller, который использует информацию plist, предоставленную в моем appdelegate.

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}


// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [self.tableDataSource count];
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
    }


    NSDictionary *dictionary = [self.tableDataSource objectAtIndex:indexPath.row];
    cell.text = [dictionary objectForKey:@"myobject"];

При этом используется список, который используется в appdelegate, и заполняется количество ячеек в моей таблице, сколько именно входов у меня в списке.

Следующее, что я хочу сделать, это вставить нединамический viewcontoller для каждой ячейки, заполненной соответствующим «ключом».

Таким образом, ячейка myobject (если выбрана) выдвигает контроллер вида myobject. Ячейка yourobject (когда выбрана) выдвигает контроллер представления yourobject.

 All the way down.

Как я могу это сделать?

1 Ответ

1 голос
/ 11 ноября 2009
  1. В вашем главном окне должен быть UINavigationController, и установите табличное представление, которое вы описали выше, в качестве контроллера корневого представления.
  2. Пусть ваше табличное представление содержит переменную-член для вашего дополнительного контроллера представления, которая будет "подробным представлением" для этого элемента. Инициализируйте его где-нибудь (например, viewDidLoad).
  3. Ваш подробный вид должен содержать переменную-член для отображаемой информации (т.е. элемент в вашем словаре). Давайте назовем это myData.
  4. Реализуйте didSelectRowAtIndexPath в табличном представлении, чтобы определить, когда выбрана строка. Здесь вы будете искать объект из словаря на основе выбранной строки, устанавливать его как myData на вашем детализированном контроллере и использовать pushViewController на вашем навигационном контроллере, чтобы выдвинуть новое представление в стек.

Надеюсь, это поможет!

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