亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS關于多張圖片上傳、地址返回順序問題及解決方案

2019-10-21 18:40:05
字體:
來源:轉載
供稿:網友

先看描述

需求是怎樣的:for 循環里面、多個網絡請求上傳圖片,每次上傳一張,至于為什么每次只上傳一張呢,因為上傳一張將要返回圖片存儲服務器的地址,然后再把地址作為請求參數,請求自己服務器的 API。

過程可以說曲折,不過也有收獲

解決方案一:

遞歸調用上傳圖片的函數、第一張請求成功后,然后第二張,依次進行。當然效率肯定不高,即使上傳圖片的AFN方法做了多線程處理。中間上傳失敗了,還繼續上傳嗎?需求決定。所有放棄

解決方案二:

使用GCD 隊列組:這里就直接貼代碼了:

dispatch_group_t group = dispatch_group_create();  for(..){    dispatch_group_async(group,dispatch_get_global_queue(0, 0), ^{    NSLog(@"隊列組:有一個耗時操作完成!");    });   }  dispatch_group_notify(group, dispatch_get_main_queue(), ^{    NSLog(@"隊列組:前面的耗時操作都完成了,回到主線程進行相關操作");  });

我只能說想法很完美啊,網上也不只提出這種方案,但是我的實踐過程是有問題了。網絡請求延遲,隊列組不可控。所以放棄

方案三:利用數組的有序性:

怎么個利用法?請看:

創建一個模型、兩個屬性第一個你要上傳的數據信息如:image 或者 data ,根據你上傳函數需要的參數來定。第二個屬性:NSString URL 服務端返回的圖片地址:

將你要上傳的圖片數組、封裝成模型數組,數組是有序的這就是重點,for 循環 模型作為參數調用圖片上傳函數,請求成功后更新模型的值

判斷所有的圖片上傳完畢,然后,就從模型數組里面去取 ,圖片 url ,請求自己的服務器api

好了,應該很清楚吧。不清楚再上點干貨:

model:

// 建立這個類的目的、主要是為了for循環多張圖片上傳、成功后回來的地址順序問題#import @interface FMUploadModel : NSObject//根據自己的上傳函數需要決定@property (nonatomic,strong) NSArray * dataArray;@property (nonatomic,copy) NSString *imgUrl;@endfunction//開辟一個多線程 執行圖片上傳工作      dispatch_queue_t queue = dispatch_queue_create("upimgs", DISPATCH_QUEUE_CONCURRENT);      dispatch_async(queue, ^{        // 耗時操作放在這里        __weak typeof(self) weakself = self;        __block int finishNum = 0;        for (int i = 0 ; i < self.selectImgs.count; i++) {          YRFormData *getData = [[YRFormData alloc] init];          getData.data = UIImagePNGRepresentation(self.selectImgs[i]);          getData.name = @"uzee_image";          getData.filename = @"head.png";          getData.mimeType = @"image/png";          NSArray *array = @[getData];          //***********//          FMUploadModel *model = [FMUploadModel new];          model.dataArray = array;          model.imgUrl = @"";          [models addObject:model];          /*******其實是一張一張傳的,傳數組是調用這個方法**********/          [YRHttpTool postWithURLNoAES:@"*****" params:@{} formDataArray:model.dataArray success:^(id json) {            finishNum ++ ;            model.imgUrl = json[@"response"][@"cloud"];            if (finishNum == self.selectImgs.count) {              dispatch_async(dispatch_get_main_queue(), ^{                // 回到主線程進行UI操作                [MBProgressHUD hideHUDForView:weakself.view];                updateImage();              });            }          } failure:^(NSError *error) {            dispatch_async(dispatch_get_main_queue(), ^{              // 回到主線程進行UI操作              [MBProgressHUD hideHUDForView:weakself.view];              [MBProgressHUD showError:@"圖片上傳失敗,請稍后再試" toView:self.view];            });          } progress:^(NSProgress *progress) {            [[NSOperationQueue mainQueue] addOperationWithBlock:^{              float value = 1.0 *progress.completedUnitCount / progress.totalUnitCount;              [MBProgressHUD showDownload:@"發布中..." toView:weakself.view progress:value];            }];          }];        }      });

總結

以上所述是小編給大家介紹的iOS關于多張圖片上傳、地址返回順序問題及解決方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美特黄级在线| 亚洲欧美另类国产| 欧美日韩亚洲视频| 国产日韩欧美自拍| 俺去了亚洲欧美日韩| 91经典在线视频| 97成人超碰免| 欧美另类交人妖| 伊人伊成久久人综合网小说| 欧美日韩激情美女| 日本午夜精品理论片a级appf发布| 欧美成人手机在线| 日韩成人激情影院| 国产亚洲人成a一在线v站| 欧美日韩电影在线观看| 国产精品亚洲第一区| 欧美巨乳美女视频| 久久久久久久久久av| 自拍偷拍免费精品| 国产精品久久久久久久久久久久久久| 亚洲欧美日韩第一区| 亚洲第一在线视频| 浅井舞香一区二区| 成人免费在线视频网址| 欧美风情在线观看| 91视频-88av| 国产成人小视频在线观看| 欧美日韩国产中文精品字幕自在自线| 久久精品在线播放| 成人国产精品久久久| 91中文在线视频| 亚洲www在线| 91sao在线观看国产| 亚洲欧美日韩中文在线| 久久久久久国产精品三级玉女聊斋| 日韩av免费看网站| 日韩欧美在线免费| 成人性生交大片免费观看嘿嘿视频| 久久久久久伊人| 国产福利视频一区| 国产日本欧美一区二区三区在线| 日本在线观看天堂男亚洲| 日韩av最新在线观看| 久久久久久久久久亚洲| 日韩视频免费大全中文字幕| 久久综合网hezyo| 国产mv久久久| 国产成人在线一区| 国产精品久久久精品| 91精品国产91久久久久久| 国产精品久久久久久久7电影| 伊人久久大香线蕉av一区二区| 国产一区二区三区丝袜| 亚洲精品欧美极品| 国产精品日韩欧美综合| 久久韩国免费视频| 青青草成人在线| 欧美精品在线免费播放| 国产精品18久久久久久首页狼| 亚洲免费av片| 91沈先生在线观看| 亚洲天天在线日亚洲洲精| 国产亚洲综合久久| 精品福利一区二区| 91亚洲精华国产精华| 国产91ⅴ在线精品免费观看| 久久久av免费| 日韩hd视频在线观看| 成人免费淫片视频软件| 欧美视频在线免费| 精品国偷自产在线视频99| 91美女片黄在线观看游戏| 另类色图亚洲色图| 亚洲国产日韩一区| 8090理伦午夜在线电影| 欧美激情三级免费| 伊人一区二区三区久久精品| 日本a级片电影一区二区| 91精品久久久久久综合乱菊| 亚洲成在人线av| 欧美国产精品人人做人人爱| 性色av一区二区咪爱| 欧美在线亚洲在线| 欧美日韩一区免费| 国产精品羞羞答答| 中文字幕亚洲天堂| 亚洲天堂色网站| 国产精品免费一区二区三区都可以| 日韩午夜在线视频| 精品国产一区av| 亚洲aaa激情| 日韩av在线天堂网| 欧美成人精品三级在线观看| 久久国产精品久久精品| 欧美午夜视频在线观看| 91精品久久久久久久久青青| 91精品啪在线观看麻豆免费| 91超碰中文字幕久久精品| 国外成人在线播放| 日韩中文字幕不卡视频| 欧美日韩午夜剧场| 日本欧美爱爱爱| 国产一区av在线| 日本电影亚洲天堂| 57pao成人永久免费视频| 亚洲日本aⅴ片在线观看香蕉| 亚洲国产精品电影在线观看| 国产精品在线看| 91日本视频在线| 九九精品在线播放| 欧美久久久精品| 欧美国产视频日韩| 91色琪琪电影亚洲精品久久| 日韩欧美国产免费播放| 亚洲影院高清在线| 国产精品男人的天堂| 成人性生交大片免费观看嘿嘿视频| 日韩精品视频免费在线观看| 亚洲a成v人在线观看| 国产一区二区视频在线观看| 亚洲黄色成人网| 欧美在线免费观看| 久久99精品久久久久久噜噜| 亚洲第一国产精品| 国产精品久久久久久久久久东京| 狠狠色狠色综合曰曰| 在线成人激情黄色| 在线观看不卡av| 国产亚洲免费的视频看| 日韩美女在线观看| 91在线精品视频| 久久综合九色九九| 国产美女主播一区| 久久精品久久精品亚洲人| 欧美日韩亚洲视频一区| 青青草原成人在线视频| 欧美日韩免费一区| 91精品一区二区| www国产精品com| 黑人精品xxx一区一二区| 久久久久久久999| 亚洲网站视频福利| 欧美日韩亚洲国产一区| 日韩电视剧免费观看网站| 成人在线视频网| 国产国产精品人在线视| 91在线视频导航| 久久免费高清视频| 欧美激情手机在线视频| 亚洲日本aⅴ片在线观看香蕉| 另类专区欧美制服同性| 色天天综合狠狠色| 日韩小视频在线| 日韩免费黄色av| 都市激情亚洲色图| 动漫精品一区二区| 欧洲成人午夜免费大片| 国产成人aa精品一区在线播放| 91九色精品视频| 97超碰蝌蚪网人人做人人爽| 欧美日韩高清在线观看| 欧美重口另类videos人妖| 久久久久九九九九| 欧美成人sm免费视频|