From 765aea04e0b94442578a7932f0edbed2b6f748af Mon Sep 17 00:00:00 2001 From: wuqi Date: Thu, 22 May 2025 17:26:45 +0800 Subject: [PATCH] fix: memoryleak --- SDWebImageSwiftUI/Classes/ImageViewWrapper.swift | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/SDWebImageSwiftUI/Classes/ImageViewWrapper.swift b/SDWebImageSwiftUI/Classes/ImageViewWrapper.swift index ff42fdf1..49ac173b 100644 --- a/SDWebImageSwiftUI/Classes/ImageViewWrapper.swift +++ b/SDWebImageSwiftUI/Classes/ImageViewWrapper.swift @@ -73,7 +73,10 @@ public class AnimatedImageViewWrapper : PlatformView { public override init(frame frameRect: CGRect) { super.init(frame: frameRect) addSubview(wrapped) - observation = observe(\.wrapped.image, options: [.new]) { _, _ in + observation = observe(\.wrapped.image, options: [.new]) { [weak self] _, _ in + guard let self = self else { + return + } self.invalidateIntrinsicContentSize() } } @@ -81,7 +84,10 @@ public class AnimatedImageViewWrapper : PlatformView { public required init?(coder: NSCoder) { super.init(coder: coder) addSubview(wrapped) - observation = observe(\.wrapped.image, options: [.new]) { _, _ in + observation = observe(\.wrapped.image, options: [.new]) { [weak self] _, _ in + guard let self = self else { + return + } self.invalidateIntrinsicContentSize() } }