Я новичок в разработке для iOS, поэтому, пожалуйста, будьте осторожны со мной:)
Используя Xcode 4.2 для iOS 5, я построил контроллер представления в IB, с табличным представлением внутри, связанным с контроллером подробного представления посредством push-перехода (на уровне ячейки табличного представления)
Я хочу настроить метки страниц с данными из моего источника данных на основе индекса выбранной ячейки. Первоначально я закодировал «didSelectRowAtIndexPath» только для того, чтобы выяснить, что это вызывается после обработки segue, и обнаружил, что вместо этого нужно вызвать prepareForSegue
Моя проблема в том, что что бы я ни пытался, так как tableView не является переданным параметром prepareForSegue (в отличие от большинства других методов, которые я использовал до сих пор), я пытаюсь получить доступ к tableView в контроллере представления, чтобы вызвать метод indexPath, чтобы я мог ссылаться на мой источник данных
Я видел много примеров использования self, как показано ниже, но это приводит к ошибке, утверждающей, что tableView не существует в контроллере представления
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSIndexPath *selectedIndexPath = [self.tableView indexPathForSelectedRow];
DetailViewController *detail = [segue destinationViewController];
detail.primary = [datasource objectAtIndex:selectedIndexPath.row];
detail.seconday = [datalist objectForKey:detail.primary];
}
Я также пытался использовать
ViewController *main = [segue viewController];
Вместо использования self, но это приводит к той же проблеме
Я знаю, что вместо этого мог бы переписать пример в качестве контроллера табличного представления, но хотел бы знать, возможно ли это таким образом? Как я видел, люди используют оба метода в разработке
Для справки, я следовал этому уроку ... http://kurrytran.blogspot.com/2011/10/ios-5-storyboard-and.html
Когда я добрался до раздела для заполнения страницы сведений, я подумал, почему бы не использовать переход, чтобы связать ячейку табличного представления со страницей сведений, а затем скопировать код состояния и заглавной буквы до появления страницы сведений. отображается. Как вы можете видеть из этого урока, основным контроллером является контроллер вида
Насколько я понимаю, НЕ использование UITableViewController даст любому приложению большую гибкость, если в дальнейшем ему понадобится что-то более сложное
Надеюсь, вы можете помочь,
Иззи