- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对这段代码有疑问:
func sendDataToBackend() {
Alamofire.request(MoneyCupUsersBackEndRouter.sendBI(BudgetInsightConnectionData(budgetInsightResponse: (self.BudgetInsightJSON)!, budgetInsightPermanentToken: (self.permanentToken)!, srcDate: userData!.lastUpdatedAt))).validate().responseString
{ [weak self] response in
switch response.result{
case .success( _):
DispatchQueue.main.async {
SVProgressHUD.dismiss()
_ = self?.navigationController?.popToRootViewController(animated: true)
}
case .failure(let error):
self?.showError(title: "ERROR SENT DATA BACKEND", message: "Erreur lors de l'envoi des données au Backend", error: error)
}
}
}
func showError(title: String, message: String, error: Error) {
print(title)
print(error)
DispatchQueue.main.async {
SVProgressHUD.dismiss()
let alert = UIAlertController(title: "erreur", message: message, preferredStyle:.actionSheet)
alert.addAction(UIAlertAction(title: "OK", style: .default)
{ Void in
_ = self.navigationController?.popToRootViewController(animated: true)}
)
self.present(alert, animated: true, completion: nil)
}
}
函数 showError 在闭包中被调用。但是该函数还处理 self 对象。由于 showError 是在闭包中调用的,我是否通过调用创建了对 self 的强引用?如果是这样,我能解决这个问题吗?
最佳答案
您的代码没有问题,因为 showError
被弱捕获并且 DispatchQueue.main.async
闭包不会导致保留周期。
关于在闭包中调用函数时的快速强链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48184081/
我在一个简单的 GTK 应用程序中有两个小部件: extern crate gdk; extern crate gtk; use super::desktop_entry::DesktopEntry;
我想做这样的事情: const vegetableColors = {corn: 'yellow', peas: 'green'}; const {*} = vegetableColors; cons
该属性它存储在 gradle 中的什么位置? subprojects { println it.class.name // DefaultProject_Decorated depen
我想在 jQuery 闭包中看到窗口属性“otherName”描述符。但 进入 jQuery 闭包 'otherName' 描述符显示未定义,我认为可能 是 getOwnPropertyDescrip
我曾经看过 Douglas Crockford 的一次演讲,在 javascript 的上下文中,他提到将 secret 存储在闭包中可能很有用。 我想这可以在 Java 中像这样天真地实现: pub
我很难理解 Swift 中闭包中真正发生的事情,希望有人能帮助我理解。 class MyClass { func printWhatever(words: String) {
我有两个 3 表:用户、个人资料、friend_request $my_profile_id变量存储用户个人资料ID的值 $my_user_id = Auth::user()->id; $my_pro
我正在尝试通过使用 GLFW 的包装来学习 Swift GLFW 允许添加错误回调: GLFWAPI GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun cb
我是一名优秀的程序员,十分优秀!