swift内存泄露,与OC的混合

1. 避免内存泄露

1)由于闭包引用了self而可能导致的内存泄露,必须如下这样写:

weak var weakSelf = self;

nearByVM = BMKNearByviewmodel(onResult: { (address) -> () in

weakSelf?.onGetAddress(address);

});

或者这样

nearByVM = BMKNearByviewmodel(onResult: {[weak self] (address) -> () in

self?.onGetAddress(address);

});

2)使用delegate代理循环引用可能导致的内存泄露,必须如下这样写:

weakvar delegate : BMKMapViewDelegate?

2. swift的枚举与oc的枚举比较

枚举值后加value


switch error.errorCode.value{case EMErrorServerNotReachable.value:}


3.It's the same as the Objective-C API,but uses Swift's Syntax.

NSNotificationCenter.defaultCenter().addobserver(
self,selector:"batterylevelChanged:",name:UIDevicebatterylevelDidChangeNotification,object:nil)

If your observer does not inherit from an Objective-C object,you must prefix your method with@objc in order to use it as a selector.

@objcfuncbatterylevelChanged(notification:NSNotification){
//dostuff
}

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...