2013-11-07 3 views
1
imagesArray = [[NSArray alloc]initWithObjects:@"http://farm3.static.flickr.com/2887/9391679341_266553bcafa_b.png",@"http://farm3.static.flickr.com/2897/9391679341_26643bcafa_b.png",@"http://farm3.static.flickr.com/2887/9691679341_26643bcafa_b.png",@"http://farm3.static.flickr.com/2887/9391679341_26644bcafa_b.png",@"http://farm3.static.flickr.com/2887/9391679341_26643bcafa_b.png",@"http://farm3.static.flickr.com/2887/9391679341_26643bcafa_b.png",@"http://farm3.static.flickr.com/2887/9391679341_26643bcafa_b.png",@"http://farm3.static.flickr.com/2887/9391679344_26643bcafa_b.png", nil ]; 

массива имеют много URL, нагрузка на progressviewNSArray имеет множество ссылок, нагрузка на progressview

полноцикловых нагрузок массива на вид прогресса

+0

Я нашел ответ, спасибо за поддержку – razesh

ответ

1
UIProgressView *progressVieww = 
    [[UIProgressView alloc] init]; 
// configure the progress view and add it to 
your UI 

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
    for (int i=0; i<[array count]; i++) 
    { 
     NSError *error; 
     NSArray *ipaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *idocumentsDir = [ipaths objectAtIndex:0]; 
     NSString *idataPath = [idocumentsDir stringByAppendingPathComponent:@"File"]; 
     NSLog(@"idataPath:%@",idataPath); 

     //Create folder here 
     if (![[NSFileManager defaultManager] fileExistsAtPath:idataPath]) 
     { 
      [[NSFileManager defaultManager] createDirectoryAtPath:idataPath withIntermediateDirectories:NO attributes:nil error:&error]; 
     } 
     // Image Download here 
     NSString *fileName = [idataPath stringByAppendingFormat:@".jpg"]; 
     NSLog(@"imagePathDOWNLOAD:%@",fileName); 

     _imgData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:[array objectAtIndex:i]]]; 
     [_imgData writeToFile:fileName atomically:YES]; 

     // now dispatch any UI updates back to the main queue 
     dispatch_async(dispatch_get_main_queue(), ^{ 

      [progressView setProgress: (CGFloat) (i + 1.0)/[array count] animated:YES]; 



      tempImg.image = [UIImage imageWithData:_imgData]; 
     }); 
    } 
}); 
2

Если вы хотите сохранить временно затем использовать NSUserDefaults и установить ваш объект, который является вашим изменяемым массивом. Поэтому он будет сэкономить локально на вашем диске

Смежные вопросы