swift 2.3.0 到3.0的轉(zhuǎn)換

  1. 帶參數(shù)的函數(shù)飒筑,都加入了 _ 省略參數(shù)名的標(biāo)記
 func log(_ info:String) {} // 3.0
func log(info:String) {}   //2.3   
  1. 類&類成員說(shuō)明public 關(guān)鍵字變成open

  2. 函數(shù)說(shuō)明privite 關(guān)鍵字變成 fileprivate

  3. 枚舉定義的case 語(yǔ)法字段命名不支持大寫開頭黎比,統(tǒng)一采用小寫

public enum BMPlayerTopBarShowCase: Int {
    case always         = 0 /// 始終顯示
    case horizantalOnly = 1 /// 只在橫屏界面顯示
    case none           = 2 /// 不顯示
}//3.0

public enum BMPlayerTopBarShowCase: Int {
    case Always         = 0 /// 始終顯示
    case HorizantalOnly = 1 /// 只在橫屏界面顯示
    case None           = 2 /// 不顯示
}//2.3

5.String 類 & UIColor 類 & Data類& TableView代理類 & Array 類 等 API的修改 ;添加了URL 的純swift 的類實(shí)現(xiàn)

6.sizeof() 被MemoryLayout<T>.size 替代

           tmp = subWord(rotateLeft(UInt32.withBytes(tmp), 8).bytes(MemoryLayout<UInt32>.size))//3.0
           tmp = subWord(rotateLeft(UInt32.withBytes(tmp), 8).bytes(sizeof(UInt32)))//2.3

7.操作符<< 脑融、 >> 等 declared in protocol must be static

private protocol BitshiftOperationsType {
          static func << (lhs: Self, rhs: Self) -> Self //3.0
          func >> (lhs: Self, rhs: Self) -> Self     //2.3
}

8.DisPatch 改動(dòng)較多


 DispatchQueue.global(priority: 0).async {} // 2.3

  public enum GlobalQueuePriority {

        @available(OSX, deprecated: 10.10, message: "Use qos attributes instead")
        @available(iOS, deprecated: 8.0, message: "Use qos attributes instead")
        @available(tvOS, deprecated, message: "Use qos attributes instead")
}

9.dispatch_once 被自動(dòng)替換:這里有坑

private lazy var __once: () = {
      let pagesContainerHeight = SwiftPages.frame.size.height - SwiftPages.yOrigin -  SwiftPages().distanceToBottom
}() // 3.0 錯(cuò)誤的轉(zhuǎn)換,看不懂的語(yǔ)法

override public func drawRect(rect: CGRect) {
   dispatch_once(&token) {
      let pagesContainerHeight = self.frame.height - self.yOrigin - self.distanceToBottom
 }
}//2.3
**這里有點(diǎn)坑啊 ,轉(zhuǎn)換的代碼完全看不懂缩宜,self 被類本身替換肘迎,drawRect方法也被替換掉了,然后編譯不通過(guò)锻煌,看到這個(gè)坑妓布。。炼幔。秋茫。請(qǐng)繞道**

10.NSNotification API 改動(dòng):

**關(guān)于名字的使用采用了系統(tǒng)規(guī)定的方式:NSNotification.Name(rawValue:"自定義的名字")

  NotificationCenter.default.removeObserver(self, name: NSNotification.Name(rawValue: KRLoginDoneNotification), object: nil)//3.0
NotificationCenter.default.removeObserver(self, name: KRLoginDoneNotification, object: nil)//2.3
 DispatchQueue.global(qos: .userInitiated).async {}

dispatch_get_global_queue(0, 0).async {} // 2.3 


dispatch_async(DispatchQueue.main{ }]  //3.0
dispatch_async(dispatch_get_global_queue(0, 0)) {}//2.3

**dispatch_group的改動(dòng)**
dispatch_group_leave(group) // 2.3
group.leave() // 3.0     

12.第三方庫(kù)采用3.0后的一些變化

1.MonkeyKing
MonkeyKing.shareMessage api 被 MonkeyKing.deliver 替換
                 


總結(jié):改動(dòng)影響較大,但是并不復(fù)雜乃秀,利用xcode 自動(dòng)轉(zhuǎn)換功能就能解決大部分問(wèn)題肛著,主要包括關(guān)鍵字使用,系統(tǒng)api 修改

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = '3.0'
        end
    end
end

*待續(xù)*

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末跺讯,一起剝皮案震驚了整個(gè)濱河市枢贿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌刀脏,老刑警劉巖局荚,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異愈污,居然都是意外死亡耀态,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門暂雹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)首装,“玉大人,你說(shuō)我怎么就攤上這事杭跪∠陕撸” “怎么了驰吓?”我有些...
    開封第一講書人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)系奉。 經(jīng)常有香客問(wèn)我檬贰,道長(zhǎng),這世上最難降的妖魔是什么缺亮? 我笑而不...
    開封第一講書人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任翁涤,我火速辦了婚禮,結(jié)果婚禮上萌踱,老公的妹妹穿的比我還像新娘迷雪。我一直安慰自己,他們只是感情好虫蝶,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開白布章咧。 她就那樣靜靜地躺著,像睡著了一般能真。 火紅的嫁衣襯著肌膚如雪赁严。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,521評(píng)論 1 304
  • 那天粉铐,我揣著相機(jī)與錄音疼约,去河邊找鬼。 笑死蝙泼,一個(gè)胖子當(dāng)著我的面吹牛程剥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播汤踏,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼织鲸,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了溪胶?” 一聲冷哼從身側(cè)響起搂擦,我...
    開封第一講書人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎哗脖,沒(méi)想到半個(gè)月后瀑踢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡才避,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年橱夭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片桑逝。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡棘劣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肢娘,到底是詐尸還是另有隱情呈础,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布橱健,位于F島的核電站而钞,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拘荡。R本人自食惡果不足惜臼节,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望珊皿。 院中可真熱鬧网缝,春花似錦、人聲如沸蟋定。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)驶兜。三九已至扼仲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抄淑,已是汗流浹背屠凶。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肆资,地道東北人矗愧。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像郑原,于是被迫代替她去往敵國(guó)和親唉韭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理犯犁,服務(wù)發(fā)現(xiàn)纽哥,斷路器,智...
    卡卡羅2017閱讀 134,656評(píng)論 18 139
  • //Clojure入門教程: Clojure – Functional Programming for the J...
    葡萄喃喃囈語(yǔ)閱讀 3,664評(píng)論 0 7
  • 因?yàn)橐Y(jié)局swift3.0中引用snapKit的問(wèn)題,看到一篇介紹Xcode8,swift3變化的文章,覺(jué)得很詳細(xì)...
    uniapp閱讀 4,414評(píng)論 0 12
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,129評(píng)論 25 707
  • 今天早晨執(zhí)勤早早來(lái)到學(xué)校栖秕,感覺(jué)有點(diǎn)冷春塌,手凍的只癢,臉凍的通紅簇捍。我這種體質(zhì)最害怕過(guò)冬天只壳,我覺(jué)得自己適合冬眠。哈哈...
    慧慧老師2017閱讀 233評(píng)論 0 0