【发布时间】:2011-02-04 02:37:55
【问题描述】:
我正在制作一个应用程序,它从网站上为某些用户名拍摄照片,并在带有用户名的 UITable 中显示它,然后当单击用户名时它会显示该用户的照片,然后单击照片名称它会显示全屏照片。
我的问题是我正在使用 NSData 从互联网上获取照片。我必须将数据保存到 CoreData 吗?当按下用户名时,它会创建 NSData 并从互联网下载照片并将它们显示在 UITable 上。这需要时间。
什么是好的方法?以及如何将这些图像保存到 CoreData?
我正在使用这种方法
NSData *imageData=[flickr dataForPhotoID:firstPhoto.id fromFarm:firstPhoto.farm
onServer:firstPhoto.server withSecret:firstPhoto.secret inFormat:
FlickrFetcherPhotoFormatSquare];
这里定义了dataForPhotoID方法
- (NSData *)dataForPhotoID:(NSString *)photoID fromFarm:(NSString *)farm
onServer:(NSString *)server withSecret:(NSString *)secret
inFormat:(FlickrFetcherPhotoFormat)format {
#if TEST_HIGH_NETWORK_LATENCY
sleep(1);
#endif
NSString *formatString;
switch (format) {
case FlickrFetcherPhotoFormatSquare: formatString = @"s"; break;
case FlickrFetcherPhotoFormatLarge: formatString = @"b"; break;
}
NSString *photoURLString = [NSString stringWithFormat:@"http://farm%@.static.flickr.com/%@/%@_%@_%@.jpg", farm, server, photoID, secret, formatString];
NSURL *url = [NSURL URLWithString:photoURLString];
return [NSData dataWithContentsOfURL:url];
}
【问题讨论】: