Ios ';闭包不能隐式捕获变异的自参数';结构错误
这是使用的代码,我不知道为什么会发生这个错误,即使我不能使用弱self和struct。要存储selectedicon URL上存在的图像的黑白图像:Ios ';闭包不能隐式捕获变异的自参数';结构错误,ios,kingfisher,swift3.2,Ios,Kingfisher,Swift3.2,这是使用的代码,我不知道为什么会发生这个错误,即使我不能使用弱self和struct。要存储selectedicon URL上存在的图像的黑白图像: struct ServiceViewModel { private var service: Service var selectedicon: URL? var name: String var subServiceCount: Int { return service.subServices.count } va
struct ServiceViewModel {
private var service: Service
var selectedicon: URL?
var name: String
var subServiceCount: Int {
return service.subServices.count
}
var subServicesViewModel = [SubServiceViewModel]()
var blackWhiteImage: UIImage?
var isSelected: Bool = false
init(service: Service) {
self.service = service
self.selectedicon = URL(string: service.icon)
self.name = service.name
}
mutating func generateBlackAndWhiteImage() {
guard let url = selectedicon else {
return
}
KingfisherManager.shared.retrieveImage(with: url, options: nil, progressBlock: nil) { (image, error, _, _) in
//self.blackWhiteImage = image?.convertBlackAndWhite()
self.blackWhiteImage = #imageLiteral(resourceName: "IM.png")
}
}
}
在这里结账,[试试这个
let `self` = self
// or
let `self` = UnsafeMutablePointer(&self)
KingfisherManager.shared.retrieveImage(with: url, options: nil, progressBlock: nil) {
(image, error, _, _) in
//self.blackWhiteImage = image?.convertBlackAndWhite()
self.blackWhiteImage = #imageLiteral(resourceName: "IM.png")
// or
self.pointee.blackWhiteImage = image?.convertBlackAndWhite()
}