iOS 优化 - NSTimer循环引用

2020-11-16  本文已影响0人  ce2f22ad95cd

NSTimer循环引用

```

extension Timer {

    class func fp_scheduledTimer(timeInterval ti:TimeInterval, userInfo: (()->Void)?, repeats yesOrNo:Bool) ->Timer{

        return scheduledTimer(timeInterval: ti, target:self, selector:#selector(timer_block(timer:)), userInfo: userInfo , repeats: yesOrNo)

    }

    @objc class func timer_block(timer:Timer) {

        let block:(()->Void)? = timer.userInfo as? (() ->Void)

        if block!=nil{

            block!()

        }

    }

}

//调用

timer=Timer.fp_scheduledTimer(timeInterval:1, userInfo: { [weak self]in

            guard let strongSelf =self else{return}

            strongSelf.onTimer()

        }, repeats:true)

        timer.fire()

@objcfunconTimer() ->Void{

        print("timer")

    }

```

上一篇 下一篇

猜你喜欢

热点阅读