【swift Objective-c】深刻了解 核心比較語言特性

###OC與swift autoreleasepoolhtml

//objective-C
@autoreleasepool{}

//swift
再也不使用

緣由: @UIApplicationMain,咱們再也不須要main文件和main函數,因此原來的整個程序的自動釋放池就不存在了。
即便咱們使用main.swift來做爲程序的入口時,也是不須要本身再添加自動釋放池的。

synchronized

apple doc關於線程安全swift

objc_sync源碼安全

//oc 中常用
-(void)moveFun(id parm){
    @synchronized(parm){
        //避免多個線程同時訪問
    }
}
//swift
func moveFun( aObj:AnyObject!) {
   objc_sync_enter(aObj)
    //鎖住變量
   objc_sync_exit(aObj)
}
注意: synchronized的底層實際是使用objc_sync_enter 和 objc_sync_exit 方法
相關文章
相關標籤/搜索