问题描述
我只是有一个 ViewController
我想要 dismiss
。这是我的dismissAction
:
@objc private func dismissView(){
self.dismiss(animated: true,completion: nil)
UserDefaultsService.shared.updateDataSourceArrayWithWishlist(wishlist: self.wishList)
let dataSourceArray = UserDefaultsService.shared.getDataSourceArray()
// update datasource array in MainVC
self.dismissWishlistDelegate?.dismissWishlistVC(dataArray: dataSourceArray,dropDownArray: self.dropOptions,shouldDeleteWithAnimation: false,wishlistToDelete: self.wishList)
}
问题:
解散动画非常clunky
,一点也不流畅。我发现如果我删除函数中的所有内容但只调用 self.dismiss
它工作得很好。这里有什么问题?知道如何解决这个问题吗?
解决方法
您可以尝试在主线程中轻量负载
DispatchQueue.global().async {
UserDefaultsService.shared.updateDataSourceArrayWithWishlist(wishlist: self.wishList)
}
并在最后一行直接使用 let dataSourceArray = UserDefaultsService.shared.getDataSourceArray()
代替 self.wishList