@@ -196,11 +196,11 @@ - (void)saveSendData{
196196 NSMutableDictionary *tweetImagesDict = [NSMutableDictionary new ];
197197 for (int i = 0 ; i < [self .tweetImages count ]; i++) {
198198 TweetImage *tImg = [self .tweetImages objectAtIndex: i];
199- if (tImg. image ) {
200- NSString *imgNameStr = [ NSString stringWithFormat: @" %@ _ %d .jpg " , dataPath, i];
201- if ( tImg.assetLocalIdentifier ) {
202- [tweetImagesDict setObject: tImg.assetLocalIdentifier forKey: imgNameStr];
203- }
199+ NSString *imgNameStr = [ NSString stringWithFormat: @" %@ _ %d .jpg " , dataPath, i];
200+ if (tImg. assetLocalIdentifier ) {
201+ [tweetImagesDict setObject: tImg.assetLocalIdentifier forKey: imgNameStr];
202+ }
203+ if (tImg. downloadState == TweetImageDownloadStateSuccess) {
204204 [NSObject saveImage: tImg.image imageName: imgNameStr inFolder: dataPath];
205205 }
206206 }
@@ -223,13 +223,15 @@ - (void)loadSendData{
223223 _tweetImages = [NSMutableArray new ];
224224 _selectedAssetLocalIdentifiers = [NSMutableArray new ];
225225 [tweetImagesDict enumerateKeysAndObjectsUsingBlock: ^(NSString *key, NSString *obj, BOOL *stop) {
226- NSURL *assetURL = [NSURL URLWithString: obj];
227226 NSData *imageData = [NSObject loadImageDataWithName: key inFolder: dataPath];
227+ TweetImage *tImg;
228228 if (imageData) {
229- TweetImage * tImg = [TweetImage tweetImageWithAssetLocalIdentifier: obj andImage: [UIImage imageWithData: imageData]];
230- [ self .tweetImages addObject: tImg];
231- [ self .selectedAssetLocalIdentifiers addObject: assetURL ];
229+ tImg = [TweetImage tweetImageWithAssetLocalIdentifier: obj andImage: [UIImage imageWithData: imageData]];
230+ } else {
231+ tImg = [TweetImage tweetImageWithAssetLocalIdentifier: obj ];
232232 }
233+ [self .tweetImages addObject: tImg];
234+ [self .selectedAssetLocalIdentifiers addObject: obj];
233235 }];
234236}
235237
@@ -380,26 +382,35 @@ + (instancetype)tweetImageWithAssetLocalIdentifier:(NSString *)localIdentifier{
380382 if (!localIdentifier) {
381383 return nil ;
382384 }
383- PHAsset *asset = [PHAsset fetchAssetsWithLocalIdentifiers: @[ localIdentifier] options: nil ]. firstObject ;
385+ PHAsset *asset = [PHAsset assetWithLocalIdentifier: localIdentifier];
384386 if (!asset) {
385387 return nil ;
386388 }
387389 TweetImage *tweetImg = [[TweetImage alloc ] init ];
388390 tweetImg.uploadState = TweetImageUploadStateInit;
389391 tweetImg.assetLocalIdentifier = localIdentifier;
390- tweetImg.image = [PHAsset loadImageWithLocalIdentifier: localIdentifier];
391- tweetImg.thumbnailImage = [tweetImg.image scaledToSize: CGSizeMake (kScaleFrom_iPhone5_Desgin (70 ), kScaleFrom_iPhone5_Desgin (70 )) highQuality: YES ];
392+ tweetImg.thumbnailImage = asset.loadThumbnailImage ;
393+ tweetImg.downloadState = TweetImageDownloadStateIng;
394+ [asset loadImageWithProgressHandler: nil resultHandler: ^(UIImage *result, NSDictionary *info) {
395+ DebugLog (@" \n ----------\n resultHandler: %@ " , info);
396+ tweetImg.image = result;
397+ tweetImg.downloadState = result? TweetImageDownloadStateSuccess: TweetImageDownloadStateFail;
398+ }];
392399 return tweetImg;
393400}
394401
395402+ (instancetype )tweetImageWithAssetLocalIdentifier : (NSString *)localIdentifier andImage : (UIImage *)image {
396403 TweetImage *tweetImg = [[TweetImage alloc ] init ];
397404 tweetImg.uploadState = TweetImageUploadStateInit;
405+ tweetImg.downloadState = TweetImageUploadStateSuccess;
398406 tweetImg.assetLocalIdentifier = localIdentifier;
399407 tweetImg.image = image;
400408 tweetImg.thumbnailImage = [image scaledToSize: CGSizeMake (kScaleFrom_iPhone5_Desgin (70 ), kScaleFrom_iPhone5_Desgin (70 )) highQuality: YES ];
401409 return tweetImg;
402410}
403411
412+ - (UIImage *)image {
413+ return _image ?: _thumbnailImage;
414+ }
404415
405416@end
0 commit comments