一些Swift小知識點的整理,Swift知識點整理

來源:互聯網
上載者:User

一些Swift小知識點的整理,Swift知識點整理

之前最開始瞭解Swift的時候的一些基本的東西,簡單的整理一下。

import UIKitvar names = []class ViewController: UIViewController,UIAlertViewDelegate {    override func viewDidLoad() {        super.viewDidLoad()        var stringValue:String!//        stringValue = "chw"//        let str11 = stringValue.hashValue//        var stringValue:Optional<String>        if let str = stringValue {            let hashValue = str.hashValue        }        let str1 = "swift"        for k in str1 {            println(k)        }        var dic = [0:0, 1:0, 2:0]        var newDic = dic        //Check dic and newDic        dic[0] = 1        println(dic)     //[0: 1, 1: 0, 2: 0]        println(newDic)//[0: 0, 1: 0, 2: 0]        var arr11:Array = [0,"lll",0]        var newArr = arr11        arr11[0] = 1        //Check arr and newArr         println(arr11)    //[1, 0, 0]        println(newArr) //[0, 0, 0]//        字串        let heart = "️"        println(heart)//️        //Null 字元串        let empty = ""        let anotherEmpty = String()        if empty.isEmpty {            println(" empty ")        } else {            println(" not empty ")        }        //首碼尾碼        let str11 = "chengHong wei"        if str11.hasPrefix("ch") {            println("prefix is ch")        }        if str11.hasSuffix("wei") {            println("suffix is wei")        }        //大小寫        let up = str11.uppercaseString        println(up)//CHENGHONG WEI        let low = str11.lowercaseString        println(low)//chenghong wei//        可選值探究        var input:String?        var input1 = "18"        var age = input1.toInt()        if age != nil{            println("your age is " + String(age!))        } else {            println("error for input")        }//        遍曆數組        let arr = ["1","2","3"]//        ...相當於[0,2]一個區間,意思就是 0=< i && i<= 2        for i in 1...arr.count {            println("arr count is \(arr.count)")            println("arr object index \(arr[i-1])")        }//        ..<是半閉半開區間,意思就是[0,arr.count) (之前是..,現在已經改了)        for i in 0..<arr.count {            println(i)        }        for var i=0;i<3;i++ {            println("\(arr)")        }//        array加元素        var arr1 = ["a"]        arr1 += ["b"]        arr1 += ["c","d","e"]        println(arr1)        println("arr1 is \(arr1)")        arr1[0] = "f"        println(arr1)        var arr20 = [1,2,3,4]        arr20[0] = 0        arr20[1...1] = [5,8]//在array[1]這兒插入了5,8兩個元素,這個功能僅在區間狀態有效,如果a[3] = [5,8] 則會報錯        println(arr20) //[0,5,8,3,4]//        泛型是如何用來定義容器的儲存的。還有一個數組的縮寫形式,這個更具有可讀性,但本質上是一樣的。現在你不能往數組裡面添加非Int型的元素。這聽起來挺糟糕,但它非常有用。再也不需要用API來記錄數組裡儲存了哪些從某個方法返回或者以屬性儲存區的元素。你可以告訴編譯器這些資訊,編譯器在錯誤檢查方面會更加智能,並且可以提早做出最佳化。        let arr2: [Int] = [1,2,3,4] //數組裡面只能是int型        let arr3: [Float] = [1,2,2.3]        println("arr3 is \(arr3)")        let arr4: [String] = ["1","chw","love"]        println("arr4 is \(arr4)")//        var 可變的數組是可以加元素的,let 聲明的是不可加的,也就是可變與不可變數組的意思,在 Objective-C 和 Cocoa 中,您通過選擇兩個不同的類( NSString 和 NSMutableString )來指定該字串是否可以被修改,Swift中的字串是否可以修改僅通過定義的是變數還是常量來決定,實現了多種類型可變性操作的統一。        var arr5:Array = [1,2,3,"cheng"]        arr5.append("chw")        println("arr5 is \(arr5)")//        字典        let dic11 = ["name":"chw","sex":1,"height":175.0]        println("This is a dictionary \(dic11)")//        Swift的=是沒有傳回值的        var a1 = 5        var a2 = 5        if a1 == a2 {            println("===")        } else {//            println("!==")        }//        字串拼接        let cheng = "c"        let hong = "h"        let wei = "w"        let chenghongwei = cheng + hong + wei        println("my name is \(chenghongwei)")//      取餘        println(8%3) // = 2        println(8%2.5) // 8 % 2.5 = 8 - 2.5 * 3 = 0.5 小數也是可以取餘的//        swith語句        var i = 14        switch i {        case 0...10:            println("range is 0-10")        case 11...20:            println("range is 11-20")        case 21..<30:            println("range is [21-30)")        default:            break        }        var name = "chw"        switch name {        case "cheng":            println("name is cheng")        case "hong":            println("name is hong")        case "wei":            println("name is wei")        default:            println("someone else")        break        }//        閉包初探        names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]        func backwards(s1:String,s2:String)->Bool {            return s1>s2        }//        UI控制項        let lab = UILabel(frame: CGRectMake(100, 100, 200, 100))        lab.text = "Hello Chw"        lab.backgroundColor = UIColor.greenColor()        lab.textAlignment = NSTextAlignment.Center        self.view.addSubview(lab)        let btn = UIButton(frame: CGRect(origin: CGPointMake(100,250), size: CGSizeMake(100,50)))        btn.backgroundColor = UIColor.grayColor()        btn.setTitle("Chw btn", forState: UIControlState.Normal)        btn.addTarget(self, action: "btnClick:", forControlEvents: UIControlEvents.TouchUpInside)        self.view.addSubview(btn)} //TODO:---    func btnClick(sender:UIButton!){        println("chw 111")        var alert = UIAlertView()        alert.title = "CHW"        alert.delegate = self        alert.message = " This is a alert !"        alert.addButtonWithTitle("Cancle")        alert.addButtonWithTitle("OK")        alert.show()    }//MARK:-//MARK:--- AlertViewdelegate    func alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int){        println("buttonIndex:\(buttonIndex)")        if buttonIndex == 0 {           println("Cancle Btn !")        } else if buttonIndex == 1 {           println("Sure Btn")        }    }//MARK:-    override func didReceiveMemoryWarning() {        super.didReceiveMemoryWarning()        // Dispose of any resources that can be recreated.    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.