[英]'closure cannot implicitly capture a mutating self parameter' error in struct
This is the code is used don't know why this error occurring even i cannot use weak self with struct.这是使用的代码,不知道为什么会发生此错误,即使我不能将弱自我与结构一起使用。 want to store blackWhite image of image which existing on selectedicon URL :
想要存储存在于 selectedicon URL 上的图像的黑白图像:
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()
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.