/ / Ponownie użyj niestandardowego interfejsu UITableView w różnych kontrolerach UIViewControllers - iPhone, iOS, Uitableview, ponowne użycie kodu

Ponownie użyj niestandardowego UITableView w różnych kontrolerach UIViewController - iphone, ios, uitableview, code-reuse

Tworzę aplikację na iPhone'a na iOS 5.1. Zbudowałem UIViewController, który ma UITableView z UISearchDisplayController i innymi widokami, wszystko w jakiś sposób związane z tabelą. UIVIewController jest delegatem i źródłem danych tabeli oraz dokonuje pewnych dostosowań (graficznych i biznesowych) do tabeli i kontrolera wyświetlania wyszukiwania. Jak dotąd wszystko było w porządku.

Problem polega na tym, że teraz chcę to powiedziećtabela (może z inną listą elementów tego samego typu) w różnych kontrolerach (różne ekrany aplikacji). Próbowałem dodać tableView mojego kontrolera jako widok podrzędny w innych kontrolerach, ale to nie działa. Próbowałem odbudować moją tabelę jako podklasę UIView (zamiast UIViewController) i dodać ją jako podview, ale to nie działało (załadował widok z pliku NIB, ale wszystkie jego właściwości, w tym IBOutlety, gdzie zero lub 0x000000).

Po wielu poszukiwaniach nie znalazłem żadnego przykładuo tym, jak ponownie użyć widoku tabeli w różnych kontrolerach. Jakaś wskazówka? Jakikolwiek przykład? Czy powinienem zbudować go jako UIViewController czy jako UIView? Która klasa powinna być delegatem tabeli i ekranu wyszukiwania, pamiętając, że większość logiki, której chcę użyć, to kod w delegatach?

Dziękuję wszystkim z góry

Odpowiedzi:

1 dla odpowiedzi № 1

Nie byłoby najłatwiejszym rozwiązaniem do stworzeniawłasną klasę Datasource (być może jako singleton), a następnie wykorzystać ją ponownie z innym kontrolerem? W ten sposób sposób uzyskiwania i zarządzania danymi jest abstrakcyjny ze sposobu ich wyświetlania. Tak jak powinno być. O to właśnie chodzi w MVC.