Skocz do zawartości

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Zdjęcie
- - - - -

problem z navigation controller


  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1 uho

uho
  • 207 postów
  • SkądŁuków, PL

Napisano 14 lipca 2011 - 11:12

witam, mam aplikacje typowo słownikową, poszczególne widoki zarządzane są przez nav. contr. i tableview, aplikacja maj różny poziom tak jakby zagłębienia, czyli nav. contr. przechodzi kilka widoków do przodu i o kilka trzeba się wrócić aby dojść do głównego widoku, w najbardziej oddalonym widoku, jest opcja która przełącza użytkownika do safari i wyszukuje w googlach odpowiednią frazę, po powrocie do aplikacji podczas cofania się do poprzedniego widoku, aplikacja wyświetla pusty widok z tytułem null, tak jakby nie wiedziała jakie dane ma wyświetlić błędów w consoli nie ma, najgorsze jest to że w symulatorze jest ok, a na urządzeniu już nie :), nie wiem gdzie szukać problemu ! dodam że poszczególne poziomy widoków są generowane przez jedną klasę z tableview i w zależnosci jakich mój model dostarczy danych użytkownik może przejść głębiej itd. jest to w pewnym sensie pętla widoków która dochodzi do ostatniej pozycji w słowniku

#2 uho

uho
  • 207 postów
  • SkądŁuków, PL

Napisano 14 lipca 2011 - 16:08

przeprowadziłem więcej testów i dowiedziałem się że w zależności od ilości wolnej pamięci poszczególne widoki i obiekt modelu z którego pobierają dane, są dealokowane, dlatego raz wszystko jest ok, a raz widok nie ma skąd pobrać danych. czy istnieje jakiś mechanizm zapisujący stan obiektu podczas memory warrningu ?

#3 Krzema

Krzema
  • 190 postów
  • SkądGdańsk, PL

Napisano 14 lipca 2011 - 18:08

Od razu mówię, że dopiero zaczynam jako deweloper, ale może jednak uda mi się w czymś pomóc.

przeprowadziłem więcej testów i dowiedziałem się że w zależności od ilości wolnej pamięci poszczególne widoki i obiekt modelu z którego pobierają dane, są dealokowane

Nie byłoby to chyba zbyt eleganckie, ale może zwiększenie retainCounta pomoże?

czy istnieje jakiś mechanizm zapisujący stan obiektu podczas memory warrningu ?

Generalnie serializacja powinna załatwić sprawę, nie korzystałem z tego jeszcze w Obj-C. Poczytaj może o NSCoding i NSKeyedUnarchiver. Mam przeczucie, że to to.

#4 danteusz

danteusz
  • 527 postów
  • SkądWrocław-Psie Pole, Wroclaw, Poland, Poland

Napisano 14 lipca 2011 - 18:48

Ja do tego używam property w appdelegate. Nie wiem czy to jest ładne rozwiązanie, ale działa, a to najważniejsze :) W tym wątku jest rozmowa na ten temat:
http://myapple.pl/dl...dzy-oknami.html

#5 uho

uho
  • 207 postów
  • SkądŁuków, PL

Napisano 15 lipca 2011 - 06:50

dzięki za nakierowanie, poradziłem sobie trochę w inny sposób, stwierdziłem że nie potrzebuje archiwizować całych obiektów, tylko stringi za których pomocą mój model generuje poszczególne poziomy widoków w nav. contr. i tak w odpowiednim miejscu wywołuje metodę która tworzy tabele z tych stringów zapisując ją do pliku, aby następny widok mógł ją zaczytać i ewentualnie dodać następnego lub ując ostatniego, jeśli user się cofa w hierarchii widoków. takie rozwiązanie pozwala na ponowne zaczytanie zawartości tableview jeśli wcześniejszy obiekt modelu został uwolniony z pamięci, w moim przypadku sprawdza się to znakomicie :)




Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych