Last active
September 16, 2018 07:02
-
-
Save masuhara/ae02e436cd59fd2c60bf2cbc140732f3 to your computer and use it in GitHub Desktop.
Closure in Closure
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func uploadProfileImage(imageData: Data, filename: String, result: @escaping (_ imageUrl: String?, _ error: Error?) -> Void) { | |
// 例えばアップロード先への参照ができるstorage変数に画像をアップロードし、アップロードが完了されたらその画像のダウンロードURLを取得する場合 | |
storage.putData(imageData, completion: { (metadata, error) in | |
// 追加 | |
print(metadata) // <- 呼ばれる | |
if let error = error { | |
// クロージャの呼び出し元に返す | |
result(nil, error) | |
} else { | |
metadata?.storageReference?.downloadURL(completion: { (url, error) in | |
if let error = error { | |
// クロージャの呼び出し元に返す | |
result(nil, error) // <- 呼ばれない | |
} else { | |
// クロージャの呼び出し元に返す | |
result(url?.absoluteString, nil) // <- 呼ばれない | |
} | |
}) | |
} | |
}) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment