Odpowiedz na ten temat
Pokaż wyniki od 1 do 5 z 5
  1. Avatar tmkszlc
    Dołączył
    Sep 2008
    Skąd
    Koszalin
    Postów
    947

    Cytuj | #1

    Witam, problem pewnie banalny, ale nie mogę sobie poradzić. Tworzę sobie pętlą obiekty:
    Kod:
            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.
    Komputer: MacBook Pro 17 2010 i7 Matt
    Telefon: iPhone 3G 16GB
    Odtwarzacz: iPhone 3G 16GB
    Tablet: The new iPad 32GB WiFi + 4G
    



  2. Dołączył
    Jul 2009
    Postów
    103

    Cytuj | #2

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

  3. Avatar tmkszlc
    Dołączył
    Sep 2008
    Skąd
    Koszalin
    Postów
    947

    Cytuj | #3

    @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ąć?

    Kod:
    [exifDict objectAtIndex:10] = nil; //niestety nie działa.
    Komputer: MacBook Pro 17 2010 i7 Matt
    Telefon: iPhone 3G 16GB
    Odtwarzacz: iPhone 3G 16GB
    Tablet: The new iPad 32GB WiFi + 4G
    


  4. Dołączył
    Jul 2009
    Postów
    103

    Cytuj | #4

    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
    Komputer: 

  5. Avatar tmkszlc
    Dołączył
    Sep 2008
    Skąd
    Koszalin
    Postów
    947

    Cytuj | #5

    Dziękuję za odpowiedź, rozumiem ; ) Już wszystko jasne.
    Komputer: MacBook Pro 17 2010 i7 Matt
    Telefon: iPhone 3G 16GB
    Odtwarzacz: iPhone 3G 16GB
    Tablet: The new iPad 32GB WiFi + 4G
    

Odpowiedz na ten temat