2013-07-15 2 views
0

В моем приложении я использую UITableViewController для ввода данных. Теперь я хочу использовать ту же таблицу в другом контроллере представления для изменения данных.Повторное использование статического представления таблицы (iOS)

Моя идея: Внедрите дополнительный контроллер представления и позвольте этим двум наследовать от него. Все элементы управления одинаковы и имеют большую часть поведения. Тем не менее, в обоих мне нужны дополнительные свойства, в том, что делегат, и 1-2 методы должны быть переопределены. Пока что кишка.

Моя проблема: у меня не может быть статическая таблица (с разделами и строками) в .xib-файле. Поэтому я не могу повторно использовать свой стол.

Мой вопрос: Как использовать такие унаследованные контроллеры в раскадровки? Мне нужен один для обычного суперкласса. Однако я не могу использовать его напрямую, у него нет всех свойств и методов, которые мне нужны. И я действительно не хочу делать все в одном классе. Так что я могу сделать?

ответ

1

Вы уже проверили свободный Ощутимая рамки Tableview? Кажется, чтобы обеспечить то, что вам нужно из коробки.

+0

Привет, я думаю, что эта структура должна быть способна решить мою проблему. Тем не менее, я уже поставил все в одном классе вместе со свойством для тех различий, которые мне нужны. Ну, сейчас не так уж плохо, надеюсь, что мне не понадобятся другие функции. И если это так, я рассмотрю использование среды Sensible TableView. Спасибо! – Antiohia

0

вы можете просто сделать контроллер представления таблицы в раскадровке и использовать

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil]; 
ExampleView *eg = [storyboard instantiateViewControllerWithIdentifier:@"ExampleView"]; 

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

+0

К сожалению, это не решает мою проблему. Мне нужно два разных контроллера табличного представления, используя одну и ту же таблицу. Я знаю, что я могу использовать один и сделать его довольно сложным, но я хочу избежать этого. И я хочу избежать альтернативы разбивать мою таблицу на 10 файлов и повторно использовать их. – Antiohia

0

В раскадровке вы всегда можете загрузить представление, используя -[UIStoryboard instantiateViewControllerWithIdentifier:]. Он возвращает новый экземпляр контроллера вида, поэтому он работает так же, как загрузка NIB.


id vc = [self.storyboard instantiateViewControllerWithIdentifier:@"Static Table"]; 
[self.navigationController pushViewController:vc animated:YES]; 
+0

К сожалению, это не решает мою проблему. Мне нужно два разных контроллера табличного представления, используя одну и ту же таблицу. Я знаю, что я могу использовать один и сделать его довольно сложным, но я хочу избежать этого. И я хочу избежать альтернативы разбивать мою таблицу на 10 файлов и повторно использовать их. – Antiohia

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