推 neotek: 因為是Async呀, 應該有callback等他回傳吧@@ 07/15 23:07
→ neotek: code貼上來才知道錯在哪 07/15 23:07
CODE如以下網址:
http://ideone.com/SahDjK
在ImageUpload的func裡每個上傳圖片都會回傳路徑,然後將他println出來
問題是在執行時,他跑的時候是先print Upload Final,然後後面才出現
url = FileUrl.string的資訊,不知道該如何等他跑完六張圖片上傳並取得六
張圖片分別的路徑名,最後再跑Upload Final這行?
※ 編輯: cf1064 (218.161.111.141), 07/16/2015 10:13:04
推 gradyzhuo: 因為你把Alamofire的呼叫包進另一個function, 你可以 07/17 00:36
→ gradyzhuo: 幫你的function加一個callback的closure,或是也可以把p 07/17 00:36
→ gradyzhuo: rintln("Upload Final") 移到 .responseJSON { (reques 07/17 00:36
→ gradyzhuo: t, response, data, error) in {...}裡面就可以了 07/17 00:36
→ cf1064: 可是要上傳六個不同的圖片,所以把final放在response好像 07/17 01:42
→ cf1064: 沒辦法解決,因為在upload final後還有講六個url一次寫入 07/17 01:42
→ cf1064: 到資料庫的動作 07/17 01:42
推 gradyzhuo: 那我覺的你可以查查看dispatch_group的用法 07/17 02:31
你好,我今天早上改用dispatch_group,可是一樣是Final先出來,再出來其他的url,
是因為我放錯地方嗎?
程式碼如下:http://ideone.com/ymyQm8
結果如下:http://i.imgur.com/Nfit9Qu.png
謝謝。
※ 編輯: cf1064 (218.161.111.141), 07/17/2015 11:36:19
→ gradyzhuo: 我改了一下 你試試看 07/17 16:17
→ cf1064: 感謝,可以運作了,只是有時候偶爾會出現問題,有時候又 07/17 21:45