我有一个Service,它以异步方式完成返回结果,我可以在闭包中看到结果,但当我从闭包中退出时,我的结果为空
为此,我使用Swift 5,并使用URLSession
var categoryViewModel = CategoryViewModel()
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.title = "Digital Space"
setupTableView()
bindViewModel()
}
fileprivate func bindViewModel() {
categoryViewModel.fetchCategories { (categories) in
self.categoryViewModel.categories = categories
}
}
var categories: [Category]?
mutating func fetchCategories(completion: @escaping ([Category]) -> ()) {
var this = self
Repository.getAllCategories { (result) in
switch result {
case .failure(let error):
print(error)
case .success(let categories):
this.categories = categories
completion(categories)
}
}
在绑定视图模型中,我将断点放在self.categoryViewModel中,我可以从API中获取日期,但是当我退出此方法时,例如cellForRow,我的视图模型中的类别为空。
转载请注明出处:http://www.jxbyjx.net/article/20230507/1481198.html