@@ -196,11 +196,11 @@ - (void)saveSendData{
196
196
NSMutableDictionary *tweetImagesDict = [NSMutableDictionary new ];
197
197
for (int i = 0 ; i < [self .tweetImages count ]; i++) {
198
198
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) {
204
204
[NSObject saveImage: tImg.image imageName: imgNameStr inFolder: dataPath];
205
205
}
206
206
}
@@ -223,13 +223,15 @@ - (void)loadSendData{
223
223
_tweetImages = [NSMutableArray new ];
224
224
_selectedAssetLocalIdentifiers = [NSMutableArray new ];
225
225
[tweetImagesDict enumerateKeysAndObjectsUsingBlock: ^(NSString *key, NSString *obj, BOOL *stop) {
226
- NSURL *assetURL = [NSURL URLWithString: obj];
227
226
NSData *imageData = [NSObject loadImageDataWithName: key inFolder: dataPath];
227
+ TweetImage *tImg;
228
228
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 ];
232
232
}
233
+ [self .tweetImages addObject: tImg];
234
+ [self .selectedAssetLocalIdentifiers addObject: obj];
233
235
}];
234
236
}
235
237
@@ -380,26 +382,35 @@ + (instancetype)tweetImageWithAssetLocalIdentifier:(NSString *)localIdentifier{
380
382
if (!localIdentifier) {
381
383
return nil ;
382
384
}
383
- PHAsset *asset = [PHAsset fetchAssetsWithLocalIdentifiers: @[ localIdentifier] options: nil ]. firstObject ;
385
+ PHAsset *asset = [PHAsset assetWithLocalIdentifier: localIdentifier];
384
386
if (!asset) {
385
387
return nil ;
386
388
}
387
389
TweetImage *tweetImg = [[TweetImage alloc ] init ];
388
390
tweetImg.uploadState = TweetImageUploadStateInit;
389
391
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
+ }];
392
399
return tweetImg;
393
400
}
394
401
395
402
+ (instancetype )tweetImageWithAssetLocalIdentifier : (NSString *)localIdentifier andImage : (UIImage *)image {
396
403
TweetImage *tweetImg = [[TweetImage alloc ] init ];
397
404
tweetImg.uploadState = TweetImageUploadStateInit;
405
+ tweetImg.downloadState = TweetImageUploadStateSuccess;
398
406
tweetImg.assetLocalIdentifier = localIdentifier;
399
407
tweetImg.image = image;
400
408
tweetImg.thumbnailImage = [image scaledToSize: CGSizeMake (kScaleFrom_iPhone5_Desgin (70 ), kScaleFrom_iPhone5_Desgin (70 )) highQuality: YES ];
401
409
return tweetImg;
402
410
}
403
411
412
+ - (UIImage *)image {
413
+ return _image ?: _thumbnailImage;
414
+ }
404
415
405
416
@end
0 commit comments