swift 3.0的一丢丢基础

    xiaoxiao2021-03-26  37

    对于swift,看几天基础语法,研究个demo和某项目源码,有这么点收货,自己梳理下。

    let num1:float = 6.66 let str1:”就这样写,str1就是字符串了” //类型安全?! let a:int! = 1 let b = a + 1 //强制解包,b是int型 let c = a //c是int?而不是int!

    var str = string(”你是不是傻?”) str += “其实不傻!” // 字符串追加 str.append(“把这里的内容拼接在str上”)

    输出不再是 nslog 而是 print //不由得感觉和好几种语言都像。。。

    c形式for循环的放弃 for i in 1…5{ //遍历 1 2 3 4 5 //若是for i in 1…<5,则是遍历1 2 3 4 }

    switch的改变,若执行了有fallthrough修饰的case,将会继续执行这个case下面也有fallthrough修饰的case

    创建一个类型为 Int ,数量为 3,初始值为 0 的空数组: var someInts = [Int](repeating: 0, count: 3) 创建含有三个元素的数组:var someInts:[Int] = [10, 20, 30] 访问数组:var someVar = someArray[index] index 索引从 0 开始,及索引 0 对应第一个元素,索引 1 对应第二个元素,以此类推。 var someInts = [Int](repeating: 10, count: 3) // var someVar = someInts[0] // var someStrs = String someStrs.append(“Apple”) someStrs.append(“Amazon”) someStrs.append(“Runoob”) someStrs += [“Google”]

    创建一个空字典,键的类型为 Int,值的类型为 String : var someDict = Int: String

    Any :任意类型、AnyObject :任意对象类型

    类的构造、重载(只有继承过来的方法才可以重载) init(){

    } init?(){ 可失败构造 } override init(){ 重载父类初始化方法 要先写super.init()

    }

    @discardableresult 该关键字表示下面的方法可以不接返回值 func sumfunc(num1:int,num2:int)->int{ return num1 + num2 } 或者let _ = sumfunc…以_接无用返回值

    字典还可以这样遍历

    var someDict:[Int:String] = [1:”One”, 2:”Two”, 3:”Three”] for (key, value) in someDict.enumerate() { print(“字典 key (key) - 字典 (key, value) 对 (value)”) } var someDict:[Int:String] = [1:”One”, 2:”Two”, 3:”Three”] let dictKeys = [int](someDict.keys) let dictValues = [string](someDict.values)

    用习惯了的16进制颜色码转UIColor 由于swift的新特性,对UIcolor进行拓展不需要像OC一样再建一个类,写明是拓展color,一下代码放在你认为的任何的合理地方都能使用

    extension UIColor { //可以设置透明度 class func rgbaColorFromHex(rgb:Int, alpha: CGFloat) ->UIColor { return UIColor(red: ((CGFloat)((rgb & 0xFF0000) >> 16)) / 255.0, green: ((CGFloat)((rgb & 0xFF00) >> 8)) / 255.0, blue: ((CGFloat)(rgb & 0xFF)) / 255.0, alpha: alpha) } // class func rgbColorFromHex(rgb:Int) -> UIColor { return UIColor(red: ((CGFloat)((rgb & 0xFF0000) >> 16)) / 255.0, green: ((CGFloat)((rgb & 0xFF00) >> 8)) / 255.0, blue: ((CGFloat)(rgb & 0xFF)) / 255.0, alpha: 1.0) } }
    转载请注明原文地址: https://ju.6miu.com/read-663838.html

    最新回复(0)