Soru & Cevap

Uitableviewcell e create sorunu ...

08.04.2014 - 12:18

Merhaba 

Soyle bir sorunum var ,listeleme yaparken veriyi webservisten cekiyorum ve tableviewda listeliyorum.ornegin bir malzeme icin anlatmak gerekirse kodu,aciklamasi ve resim urli var. 
Listeleme yaptiktan sonra listeyi asagi yukari gezdiginizde cell her seferinde yeniden olusturuluyor.String alanlarda sorun olmuyorda resimin herseferinde urlden create edilmesi gorsel bir soruna ve internet kullanimina yol aciyor.Bunu asmanin bir yolu varmidir.Yani listeledigim bir hucreyi birdaha birdaha olusturmak yerine zaten olusturmusum onu kullansin gibi.

6 Görüntülenme

4 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-4271-1380316299.jpg
MuratSisman
19.04.2014 - 03:30

Bunu engellemenin tek yolu imajları Cache'den almaktır. Tableview mantığı gereği gördüğü her hücreyi yeniden oluşturur. 

SDWEBImage classlarını kullanarak sorununu rahatlıkla çözebilirsin

 

picture-3650-1421928561.jpg
anilsozeri
08.04.2014 - 04:39

Söylemek istediğinizi anlamıştım zaten NSURLConnection'daki Cacheleme mantığına benzer bir yapı bulabilirseniz işinizi çözecektir demek istemiştim ama esas oluşturmama konusuna gelecek olursak memory yi daha verimli kullanmak için ekrana sığdığı kadarını oluşturuyor ve daha sonra scroll hareketinde diğerleri oluşuyor liste de böyle bir yapı var, sizin söylediğiniz yapı var mı bilemiyorum daha önce hiç karşılaşmadım ama verileri yeniden istek yollamadan oluşturmak için cache iş görür diye düşünüyorum.

Mehmet
09.04.2014 - 01:23
Merhaba yardimlarinizi icin tesekkur ederim.AFNetwork kutuphanesini kullanarak yaptim sorunsuz gibi duruyor,anladigim kadari ile cacheleme islemlerini kendi icerisinde yapiyormus zaten
Anıl SÖZERİ
09.04.2014 - 04:48
Sorunun çözülmesine sevindim, iyi çalışmalar :)
Profile picture for user mehmet.cirak
mehmet.cirak
08.04.2014 - 08:14

Cevabiniz icin tesekkurler ama bu degil benim istedigim,resimleri alip gostermekte bir sorunum yok ,table da scroll ederken once listenin biraz asagisina gittim diyelim yukaridaki hucreler olusmustu uzerinden gecerken sonra tekrar yukari dondugumu dusunursek tekrar hucreler bastan olusuyor,bunu engellemek istiyorum,bende kod blogu asagidaki gibidir.

 

[code]

static NSString *CellIdentifier = @"CustomContentCell";

CustomContentCell *cell = (CustomContentCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil)

    {

        cell = [[CustomContentCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

        cell = [[[NSBundle mainBundle] loadNibNamed:@"CustomContentCell" owner:self options:nil] objectAtIndex:0];

        NSLog(@"yeni hucre");

    }

    

    

    NSDictionary *post = [itemCodes objectAtIndex:indexPath.row];

    

    

    cell.customCellText.text = [post objectForKey:@"malzemeKodu"];

    cell.customCellDetailText.text = [post objectForKey:@"malzemeAciklama"];

    

    NSString *urlString=[post objectForKey:@"imgURL"];

    

    if (urlString.length>0) {

        [cell performSelectorInBackground:@selector(loadImage:) withObject:urlString];

    }

    else{

        cell.customCellImage.image=[UIImage imageNamed:@"openbox.png"];

        

    }

 

[/code]

picture-3650-1421928561.jpg
anilsozeri
08.04.2014 - 01:17

Merhaba,

https://gelecegiyazanlar.turkcell.com.tr/konu/ios/egitim/ios-301/uzaktaki-bir-sunucuya-baglanmak buradaki Cache'leme işleminden söz ediyorsunuz sanırım aynı mantık ile yapılabilir.