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
problem z navigation controller
Rozpoczęty przez
uho
, 14 lip 2011 11:12
4 odpowiedzi w tym temacie
#1
Napisano 14 lipca 2011 - 11:12
#2
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
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.
Nie byłoby to chyba zbyt eleganckie, ale może zwiększenie retainCounta pomoże?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
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.czy istnieje jakiś mechanizm zapisujący stan obiektu podczas memory warrningu ?
#4
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
http://myapple.pl/dl...dzy-oknami.html
#5
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: 0
0 użytkowników, 0 gości, 0 anonimowych