如何访问本身在尾闭包中的开关case的关联值



如下所示,我应该写什么表达式来访问let learningList?代码中,query是一个类,find是一个函数。很多谢谢!

_ = query.find { result in
switch result  {
case .success(objects: let learningList):
break
case .failure(error: let error):
print(error)

}
}

这是一个局部变量,因此您只能在减速的上下文中访问它,即在case中。如果稍后需要使用它,则必须在调用者类中创建一个属性来保存它,如

_ = query.find { [weak self] result in     // << ref to caller
switch result  {
case .success(objects: let learningList):
self?.learningList = learningList     // << safe in caller's property
break
case .failure(error: let error):
print(error)

}
}

相关内容

  • 没有找到相关文章

最新更新