美文网首页
Note 9 swift中的杂项

Note 9 swift中的杂项

作者: cry_0416 | 来源:发表于2016-07-25 17:00 被阅读7次

元组

var tuple1 = (1, 2, 3)

  • 可以通过索引获取元素
var fir = tuple1.0 // fir = 1
  • 可以对元素命名
var tuple1 = (first:1, second:2, third:3)
  • 元素个数不可以更改
  • 元祖的类型由它的元素类型决定
var tuple2 = (1,"2",3)//(Int,String,Int)

用途

  1. 同时给多个变量赋值
  2. 同时返回多个值,返回的值也可以命名

defer

func defer1()  {
    defer{
        print("order1")
    }
    defer{
        print("order0")
    }
    print("this will print first")
}

defer1()
//输出
//this will print first
//order0
//order1

final

修饰方法,表示父方法在子类里面不能被重写

autoclosure

func test(@autoclosure c: () -> Bool){
    if c() == false {
        print("false")
    }else {
        print("true")
    }
}
test(2>1)

func test1(@autoclosure c: () -> Int){
    if c() > 0 {
        print("c() > 0 ")
    }else{
        print("c() < 0")
    }
}
test1(2-1)//

lazy

class testLazy{
    var testname :String = {
        print("我只会执行一次,下次用就不会出现")
        return "hello"
    }()
    
    func priInfo() {
        print(testname)
    }
}

let l1 = testLazy()//print我只会执行一次,下次用就不会出现
l1.priInfo()//print hello


//lazy1.在第一次使用的时候才会执行
//2.只会执行一次

泛型函数/模板函数,泛型类

  1. 泛型函数
func printOne<T> (a:T){
    print(a)

}////< >里面是类型占位符,可以是任意描述

func printOne<anyWords> (a:anyWords){
    print(a)

}////< >里面是类型占位符,可以是任意描述

2.泛型类

class hello <T> {
    var num: T!
    func priInfo(){
        print(num)
    }
}

Final

  • 修饰方法,表示不能在子类中覆盖重写

相关文章

网友评论

      本文标题:Note 9 swift中的杂项

      本文链接:https://www.haomeiwen.com/subject/kcagjttx.html