0
私はネットワークマネージャクラス(シングルトン)を持っています。クラスのすべての関数で同じコードを呼び出す
アプリケーションが作成する必要があるAPI呼び出しごとに、このネットワークマネージャとは異なる機能が呼び出されます。
このNMのすべての機能は、各機能の完了ハンドラに達するまでアクティビティインジケータが表示されることから始まります。ユーザーにリクエストが実行されていることを示します。
これを行うにはどうすればよいでしょうか?
Alamofireポッドを使用しています。
func loadSetting(for user: String, completionHandler: (UserSetting?) ->()) {
myActivityIndicator.start //a line I'd like to perform in every function of this class
let parameters = ["UUID": user]
_ = Alamofire.request(.POST, "http://www.google.com/users", parameters: parameters)
.responseObject { (response: Response<UserSetting, NSError>) in
if let userSetting = response.result.value {
print("User Setting found remotely")
completionHandler(userSetting)
} else {
print("Couldn't fetch remote User Setting")
completionHandler(nil)
}
myActivityIndicator.stop //a line I'd like to perform in every function of this class
}
}
ありがとう:ここ
は私のAPI呼び出しの1の例です。
1つのソリューションはすべてのたとえば、NetworkManagerの要求を関数要求で呼び出すと、その内部でアクティビティインジケータを処理できます。 –
はい、解決策になる可能性があります、Victorに感謝します。しかし、私は各リクエスト(リクエストタイプ、URL、パラメータ、ファイル...)を送るために多くのパラメータを渡さなければならないでしょうか? – Tulleb
はい、Alamofireのようにデフォルトのオプション値で定義することができます。 –