Справка по простому просмотру деталей? - PullRequest
0 голосов
/ 25 февраля 2010

У меня серьезные проблемы с подробным представлением, и я надеялся, что кто-то может указать мне правильное направление.

Я бы хотел добавить детальный вид в приложение, например яблоки advancetableviewcells. Поэтому, как только вы нажмете на ячейку, вы перейдете к подробному виду.

Единственный улов - загружать данные из ячейки также в подробный вид.

Я просмотрел множество сайтов и множество примеров в Интернете и вижу, как это делается с простой таблицей, но когда дело доходит до отдельных ячеек и данных в .plist Я потерян.

Пожалуйста, любая помощь будет отличной. Спасибо

Ответы [ 2 ]

1 голос
/ 25 февраля 2010

Добавление детального контроллера не так сложно реализовать.В вашем корневом представлении - я полагаю - вы собираете все данные из упомянутого выше plist-файла и упорядочиваете данные по вашим собственным критериям.Почему бы вам не создать NSArray в корневом контроллере представления, который содержит NSDictionary для каждой ячейки.В этот словарь вы помещаете всю информацию, такую ​​как название, цена или что-то еще об этом объекте.В вашем подробном контроллере просто добавьте свойство NSDictionary.Если вы выбираете ячейку, вызывается метод didSelectRowAtIndexPath.В этом методе вы устанавливаете свойство NSDictionary в контроллере подробного представления как объект в NSArray вашего корневого контроллера представления по индексу indexPath.row

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    DetailViewController *myDetailController = [[DetailViewController alloc] initWithNibName:@"NibBame" bundle:nil];
    myDetailController.detailDict = [rootViewArray objectAtIndex:indexPath.row];
    [self.navigationController pushViewController:myDetailController animated:YES];
    [myDetailController release];
}

После этого все данные для конкретной ячейки теперь доступныв контроллере подробного представления, и вы можете использовать преимущества NSDictionary и можете получить переменные просто простым ключом.Например:

- (void)viewDidLoad {
    self.title = [myDictionary valueForKey:@"specificKey"];
}
0 голосов
/ 01 марта 2010

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

...