Skocz do zawartości

Witaj!

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

Zdjęcie
- - - - -

Jak usunąć obiekt z widoku?


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

#1 tmkszlc

tmkszlc

  • 1 846 postów
  • SkądSzczecin, PL

Napisano 22 stycznia 2012 - 20:28

Witam, problem pewnie banalny, ale nie mogę sobie poradzić. Tworzę sobie pętlą obiekty:
        for (int i = 0; i < [keys count]; i++) {
            
            label = [[UILabel alloc] initWithFrame:CGRectMake(0, 18*i, 320, 18)];
            ...
            [exifDict addObject:label];
            [scrollView addSubview:label];
        }

Głowię się od dłuższego czasu, jak usunąć taki obiekt z widoku i później z pamięci, bo kiedy robię pętlę drugi raz przy wykonaniu tej samej funkcji, to drugie obiekty nakładają mi się na pierwsze.
Dzięki za pomoc.

#2 wczekalski

wczekalski
  • 121 postów
  • SkądPoznań, Polska

Napisano 22 stycznia 2012 - 20:44

[view removeFromSuperview]. W tym przypadku dajesz tag do tych UILabel. label.tag = i. Mam nadzieję że mnie zrozumiałeś

#3 tmkszlc

tmkszlc

  • 1 846 postów
  • SkądSzczecin, PL

Napisano 22 stycznia 2012 - 20:59

@Wojtas111111111, dzięki.

---------- Wpis dodano o 22:59 ---------- Poprzedni wpis dodano o 22:57 ----------

Jeszcze przy okazji, usuwając go z widoku obiekt nadal jest w pamięci tak? Jeśli tak to jak go z niej usunąć?

[exifDict objectAtIndex:10] = nil; //niestety nie działa.


#4 wczekalski

wczekalski
  • 121 postów
  • SkądPoznań, Polska

Napisano 22 stycznia 2012 - 21:33

Do obiektu jest wysyłane release przy -(void) removeFromSuperview. Jeśli nie używasz ARC, i obiekt nie jest autoreleasowany musi do niego być [label release]. Jeśli używasz ARC nic nie musisz robić. Proszę, sory za moje lakoniczne wypowiedzi, ale mam nadzieje że się połapiesz

#5 tmkszlc

tmkszlc

  • 1 846 postów
  • SkądSzczecin, PL

Napisano 22 stycznia 2012 - 22:19

Dziękuję za odpowiedź, rozumiem ; ) Już wszystko jasne.




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

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