美文网首页LearningNotes-Swift
总结回顾:赵哲A001系列视频课程

总结回顾:赵哲A001系列视频课程

作者: sing_crystal | 来源:发表于2015-03-12 14:04 被阅读122次

    一、变量常量Variable,Constant

    字符串+字符不能直接使用加号,需要使用append

    String.append(Character) 

    二、字符串String


    三、字符Character

    四、数组和字典

    类型化的集合

    数组中如果出现不同类型的内容,则是OC中的数组,不是swift的数组。

    1.给数组规定类型  

    var names: String ( ) = [ "aa","dd","ff" ]

    var arr: [Int] = [2,3]

    var arr:Array<Int> = [2,3]

    var arr = [Int]( )

    2.增加数组

    var shoppingList = [“松花蛋”,”豆浆"]

    shoppingList.append( “啤酒")

    shoppingList += [“枸杞”,”香油”,”五香粉"]

    3.修改数组中的某个内容

    shoppingList[0] = "6颗松花蛋"

    4.批量修改数组中连续的内容

    shoppingList[3...5] = ["⽑毛⾖豆", "⻩黄⽠瓜"]

    5.增加字典的内容

    var numberOfLegs = ["蚂蚁": 6, "⼩小蛇": 0, "⼩小狗": 4]

    numberOfLegs["蜘蛛"] = 273

    6.查询字典中的一个可能值

    使用option可能值这个方法

    7.给字典规定类型

    var numberOfLegs: Dictionary<String, Int> = ["蚂蚁": 6, "⼩小蛇": 0, "⼩小狗": 4]

    var numberOfLegs: [String: Int]= ["蚂蚁": 6, "⼩小蛇": 0, "⼩小狗": 4]

    五、if语句

    六、Switch语句

    1.注意事项:

    无需写break语句

    但是必须写default语句(必须全面覆盖,Switch must be exhaustive)

    2.常用的使用场景:

    switch sender {

            case button:

                      println("有人点了按钮") 

             case usernameTextField:

                       println("有人点了用户名输入框")

              default:

                        println("有⼈点到了其它东西")

    }

    3.可以用逗号分割所有的可能性,无需给每一个可能性写一个case

    switch legCount {

           case 0:

                   println("蹭蹭蹭")

           case 1, 3, 5, 7, 9, 11, 13:

                    println("颠颠颠⼉儿")

           default:

                     println("⾛走⾛走⾛走")

    }

    4.区间匹配

    switch legCount {

            case 0:

                   println("蹭蹭蹭")

            case 1...8 :

                    println("颠颠颠⼉儿")

            default:

                    println("⾛走⾛走⾛走")

    }

    七、函数/方法Function

    可以带参数,可以带多个参数。

    参数可以带默认值。

    可以带返回值。 ->

    可以带多个返回值。(,)小括号,逗号分割多个返回值。

    八、元组Tuples

    合并在一起的数据结果

    元组支持整体加可能

    注意:(Int?, Int?) 和 (Int, Int)?的不同

    1)(Int?, Int?) 元组肯定有值。元组里的第一个元素有值,第二个元素没有值;第一个没有值,第二个有值;第一个有值,第二个也有值;第一个没有值,第二个也没有值。

    2)(Int, Int)?这个元组可能有值,这个元组也可能没有值。但是如果这个元组有值,那么元组里的两个元素是一定有值的。

    九、闭包 Closure

    无参数无返回值

    闭包可作为参数

    依附式闭包

    十、类 Class

    1.属性 properties

    2.方法 methods

    3.初始化 initializers

    1. 属性 properties

    (1)可以继承某个类,也可以不继承。

    (2)储值属性

    (3)算值属性

    当前属性的值,可以由其他的值算出来。

    get { 

    }

    set {

    }

    newValue变量访问新值

    (4)自动内存空间分配 Automatic Memory Allocation

    (5)初始化

    初始化没有返回值

    init ( ) {

           super.init ( )

    }

    (6)属性覆盖

    (7)方法覆盖

    (8)属性观察

    willSet {

    // 在这里可以通过 newValue 变量访问新值

    }

    didSet {

    // 在这里可以通过 oldValue 变量访问旧值

    }

    2. 方法 Methods

    3.初始化

    十一、结构体 Struct

    1.

    struct 名字 {

    }

    2.

    结构体内可以增加算值属性,在结构体内部增加方法,对现有数值属性进行属性观察

    3.

    结构体和类的区别:

    1)结构体不可以继承;类可以继承。

    2)结构体是值传递;类是引用值传递。

    4.

    mutating 试图修改结构体内部的元素值

    十二、枚举 Enumerations

    1.

    enum 名字:类型 {

    }

    2. toRaw( ) 获取枚举内部的行值

    3.行值:可以是Int整型类型,也可以是String字符串类型

    4.关联值

    5.初始化方法

    6.算值属性

    十三、扩展 Extensions

    1.

    extension 名字 {

    }

    十四、一个非泛型化的栈结构的结构体

    A Non-Generic Stack Structure

    相关文章

      网友评论

        本文标题:总结回顾:赵哲A001系列视频课程

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