ios

2016-03-31 18 views
1

için önceden yüklenecek resimler Sunucudan XML verilerini (görüntüler, metinler ... dahil) yükledim ve bu verileri tablo görünümünde görüntüledim.ios

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName 
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 
{ 
if([elementName isEqualToString:@"user_id"]) 
{ 
    Myxml.str_user_id = currentNodeContent; 
} 

else if([elementName isEqualToString:@"username"]) 
{ 
    Myxml.str_username = currentNodeContent; 

} 
else if([elementName isEqualToString:@"avatar"]) 
{ 
    Myxml.str_avatar=currentNodeContent; 
    Myxml.imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:currentNodeContent]]; 

} 
else if([elementName isEqualToString:@"full_name"]) 
{ 
    Myxml.str_full_name=currentNodeContent; 

} 
else if([elementName isEqualToString:@"cups"]) 
{ 
    Myxml.str_cups=currentNodeContent; 
} 
//--------Record End------- 
else if([elementName isEqualToString:@"record"]) 
{ 
    [RecordArray addObject:Myxml]; 
    [Myxml release]; 
    Myxml = nil;   
} 

[currentNodeContent release]; 
currentNodeContent = nil; 
currentNodeContent = [[NSMutableString alloc]init]; 

}

Şimdi, ana görünüm denetleyicisinde ben init yönteminde

Connection=[[NetworkConnection alloc]initConnection]; 

if (Connection.isReachable) 
{ 
    XmlDetail=[[TopPickerXML alloc]init]; 

    LabelArray=[[NSMutableArray alloc]initWithArray:XmlDetail.RecordArray]; 
} 
else 
{ 
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Alert" message:@"Network connection unavailable..." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [alert show]; 
    [alert release]; 
} 

yılında Ve cellForRowAtIndexPath Tablo görünümünde "LabelArray" adlı NSMutableArray tüm verileri toplamak, böyle görüntüyü

img_BuddyAvtar=[[UIImageView alloc]init]; 
img_BuddyAvtar.frame=CGRectMake(10, 5, 120, 105); 
img_BuddyAvtar.image=[UIImage imageWithData:TopPicker_record.imageData]; 
img_BuddyAvtar.backgroundColor=[UIColor clearColor]; 
[View_TableCell addSubview:img_BuddyAvtar]; 

Şimdi, Bu görünümü yüklediğimde sorunum zaman alıyor. benim metin ve görüntüleri de dahil olmak üzere tüm verileri yükler ve görüntüler. Tablo görüntüsümü yüklemek için daha az zaman alacak şekilde görüntüleri önceden yükleyebilir miyim?

cevap

0

Resmi önbelleğe almanız gerekir.

  1. Projenize SDWebImage ekleyin.
  2. ithalat <SDWebImage/UIImageView+WebCache.h> başlık
  3. cellForItemAtIndexPath

    [cell.imageView sd_setImageWithURL:[NSURL URLWithString:@"your image URL"] 
          placeholderImage:[UIImage imageNamed:@"placeholder.png"]]; 
    
+1

de kodunun altına ekleyin görüntülerin döngü için bu kod çalışacak mı? –

+0

evet öyle olacak. URL ve yer tutucu resmini geçmeniz yeterlidir. bu kadar :) – ivarun