cozzin / cozzin.github.io

Blog

Home Page:https://cozzin.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

objc_setAssociatedObject

cozzin opened this issue · comments

https://github.com/jieumjigi/si-eum-iOS/blob/develop/sieum/UIControl%2BExtension.swift

extension UIGestureRecognizer {
    convenience init(_ onEvent: @escaping () -> Void) {
        let sleeve = ClosureSleeve(onEvent)
        self.init(target: sleeve, action: #selector(ClosureSleeve.invoke))
        objc_setAssociatedObject(self, "\(arc4random())", sleeve, .OBJC_ASSOCIATION_RETAIN)
    }
}

extension의 사용과 함께 objc_setAssociatedObject를 사용하게 되는데
참조가 제대로 해제되는지 언제 해제되는지 체크하는 실험 필요함.