Swift 2.0 所有新特性

寫在開(kāi)頭 iOS開(kāi)發(fā)者 群532084214 給大家提供一個(gè)交流技術(shù) 也可以聊天打屁的平臺(tái)

最近Swift 2 出來(lái)了 國(guó)內(nèi)開(kāi)發(fā)者迅速上手 參看這個(gè)

http://www.csdn.net/article/2015-06-09/2824909-xcode-7-beta-and-swift

但是發(fā)現(xiàn)要不然寫的不全 要不然寫都不寫 不知道毛線意思 索性自己寫
Repeat

       func doTest() {
    var x = 0
    //        為了增強(qiáng)語(yǔ)意do換成repeat
    repeat {
        print(x)
        x++
    }while(x<6)
    
}

Error Handling

// ErrorType 可以throws 和catch  NSError 已經(jīng)實(shí)現(xiàn)ErrorType
enum MyError:ErrorType{
    case MissName
    case MissOther
} //enum 適合自定義error




//     no throw
func  errorTest1() -> Bool {
    do {
        try NSURL(string: "fa")?.checkResourceIsReachable()
        return true
        //            指定錯(cuò)誤
    }catch NSURLError.FileDoesNotExist {
        return false
    }catch {
        return false
    }
}


//     has throw
//    guard 也可以配合throw
func errorTest2() throws {
    defer { print("no meter how  這個(gè)一定會(huì)放在方法尾執(zhí)行 類型于 java  finally  不過(guò)可以不配合try  catch ")}
//             swift 1.X init?
    let index = Int("gs")
    print(index)//nil 這樣真的好嗎  如果真的出現(xiàn)錯(cuò)誤怎么把Error 到處傳遞 ?

    // swift 2.0
    do {
        try NSURL(string: "fa")?.checkResourceIsReachable()
    }catch  {
        throw error
    }
}



//     I know never error
func errorTest3 (){
    //        當(dāng)然只是 demo  我瞎雞巴寫的 肯定有錯(cuò)的
    try!  NSURL(string: "http://www.baidu.com")?.checkResourceIsReachable()
    print("絕壁沒(méi)有錯(cuò)誤")
}

@avAiliable

@available(iOS 8.0, OSX 10.10, *)
func startUserActivity() -> NSUserActivity? {
    if #available(iOS 8.0, OSX 10.10, *) {
        // 當(dāng)版本匹配時(shí)使用Handoff APIs.
        let activity = NSUserActivity(activityType:"com.example.ShoppingList.view")
        activity.becomeCurrent()
    } else {
        //當(dāng)版本不匹配時(shí)返回.
        return nil
        
    }
    return nil
}

defer

func deferTest() {
    let f = fopen("x.txt", "r")
    defer {
        fclose(f)
    }
    
}

guard

func guardTest() -> String {
    let  name:NSString  = "fa"
    let  age  = 8.0
    guard  let realName = name   as? String ,            let realAge = age as? Double else {
        print("這個(gè)guard類似于if  只不過(guò)大部分時(shí)間用來(lái)坐模式匹配 ")
        
        return "'這里轉(zhuǎn)換失敗提前退出  其實(shí)就是  guard  ====== !if "
    }
    //        guard  let realName = name   as? String ,            let realAge = age as? Int else {
    //            print("這個(gè)guard類似于if  只不過(guò)大部分時(shí)間用來(lái)坐模式匹配 ")
    //
    //            return "'這里轉(zhuǎn)換失敗提前退出  其實(shí)就是  guard  ====== !if "
    //        }
    print("\(realName)\(realAge)   轉(zhuǎn)換成功")
    return "轉(zhuǎn)換成功"
    //        for in  where    /  switch case where  / if let where /while...where 也支持匹配
}

Protocol Extension has default implementation

//MARK:- 可以給協(xié)議加擴(kuò)展
  extension UITableViewDataSource {
func myFun(){
    print("帶有默認(rèn)實(shí)習(xí)的擴(kuò)展 可以用作設(shè)計(jì)模式中適配器模式")
   }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,376評(píng)論 4 61
  • guard語(yǔ)句 guard語(yǔ)句和if語(yǔ)句有點(diǎn)類似,都是根據(jù)其關(guān)鍵字之后的表達(dá)式的布爾值決定下一步執(zhí)行什么。但與if...
    GoGooGooo閱讀 249評(píng)論 0 0
  • 它潛伏在身體里,宛若神經(jīng)毒素,在你最軟弱的時(shí)候,要了命。 ——題記。 【秋雨】 深秋沒(méi)有太多的燥熱。風(fēng)卷落葉的場(chǎng)...
    深醉眸光閱讀 549評(píng)論 6 6
  • 臨摹,是繪畫(huà)過(guò)程中不可或缺的一部分 所以,各種各樣的繪畫(huà)書(shū)籍資料買了一堆又一堆 今天,給大家整理了一大批臨摹資料 ...
    藝伙閱讀 470評(píng)論 0 7

友情鏈接更多精彩內(nèi)容