距离结束还剩:02天0小时
关注公众号 领VIP会员
下次再说
从零开始学Swift——语法篇 第二季

首发

下载课程

下载学院APP

缓存视频离线看

微信公众号
收藏(35)

从零开始学Swift——语法篇 第二季

课程目标: Swift语言入门,掌握Swift语言

5分 共54课时 共6小时34分钟 更新时间: 30天前

价  格

¥78.40

¥98.00

优惠活动

春日正当宜

购买该课程所属专题立省44.84元>>>

2424小时内答疑

课时永久观看

退15分钟内无条件退款

  1. 仅限付费视频课程适用
  2. 购买后15分钟内可以找到客服进行沟通退款
  3. 下载资料后不再享有退款特权
  4. 客服(Tel:400-101-1651)
  5. 最终解释权归51CTO学院所有

课程介绍

课程大纲

学习资料

学员评价

课程目标
Swift语言入门,掌握Swift语言
适用人群
《从零开始学Swift》读者,对Swift语言感兴趣,swift初级人员,iOS开发
课程简介
  • 11.1-11.2Swift中的面向对象类型

    面向对象(OOP)是现代流行的程序设计方法,是一种主流的程序设计规范。其基本思想是使用对象、类、继承、封装、属性、方法等基本概念来进行程序设计,从现实世界中客观存在的事物出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。在不同的计算机语言中其具体的体...

  • 11.3.1枚举成员值

    在C和Objective-C中,枚举用来管理一组相关常量的集合,使用枚举可以提高程序的可读性,使代码更清晰且更易于维护。而在Swift中,枚举的作用已经不仅仅是定义一组常量以及提高程序的可读性了,它还具有了面向对象特性。

  • 11.3.2枚举原始值

    出于业务上的需要,要为每个成员提供某种基本数据类型,我们可以为枚举类型提供原始值(raw value)声明,这些原始值类型可以是字符、字符串、整数和浮点数等。

  • 11.4结构体与类

    Swift语言却非常重视结构体,把结构体作为实现面向对象的重要手段。Swift中的结构体与C++和Objective-C中的结构体有很大差别,后面两者中的结构体只能定义一组相关的成员变量,而Swift中的结构体不仅可以定义成员变量(属性),还可以定义成员方法。

  • 11.6.1可选链的概念

    有时候我们在Swift程序表达式中会看到问号(?)和感叹号(!),它们代表什么含义呢?这些符号都与可选类型和可选链相关

  • 11.6.2使用问号和感叹号

    在使用可选类型和可选链时,多次使用了问号(?)和感叹号(!),但是它们的含义是不同的:可选类型中的问号(?);可选类型中的感叹号(!);可选链中的感叹号(!);可选链中的问号(?)

  • 11.7.1-2访问范围和级别

    需要搞清楚访问范围的界定。访问范围主要有两个:模块和源文件。Swift提供了3种访问级别,对应的访问修饰符为:public、internal和private。

  • 11.7.3使用访问级别**实践

    1. 统一性原则2. 设计原则3. 元组类型的访问级别4. 枚举类型的访问级别

  • 12.1.1存储属性概念

    存储属性可以存储数据,分为常量属性(用关键字let定义)和变量属性(用关键字var定义)。

  • 12.1.2延迟存储属性

    在dept属性前面添加了关键字lazy声明,这样dept属性就是延时加载。顾名思义,延时加载就是dept属性只有在**次访问时才加载,如果永远不访问,它就不会创建,这样就可以减少内存占用。

  • 12.2计算属性

    计算属性本身不存储数据,而是从其他存储属性中计算得到数据。

  • 12.3属性观察者

    为了监听属性的变化,Swift提供了属性观察者。属性观察者能够监听存储属性的变化,即便变化前后的值相同,它们也能监听到。

  • 12.4静态属性

    3种面向对象类型(结构体、枚举和类)都可以定义静态属性。在静态计算属性中不能访问实例属性,但可以访问其他静态属性。在实例计算属性中能访问实例属性,也能访问静态属性。

  • 12.5使用下标

    在Swift中,我们可以定义一些集合类型,它们可能会有一些集合类型的存储属性,这些属性中的元素可以通过下标访问。Swift中的下标相当于Java中的索引属性和C#中的索引器。

  • 13.1实例方法

    实例方法与实例属性类似,都隶属于枚举、结构体或类的个体(即实例),通过实例化这些类型创建实例,使用实例调用的方法。

  • 13.2静态方法

    与静态属性类似,Swift中还定义了静态方法,也称为类型方法。静态方法的定义与静态属性类似,枚举和结构体的静态方法使用的关键字是static,类静态方法使用的关键字是class或static。

  • 14.1.1构造函数概念和默认构造函数

    结构体和类的实例在构造过程中会调用一种特殊的init方法,称为构造函数。结构体和类在构造过程中会调用一个构造函数,即便没有编写任何构造函数,编译器也会提供一个默认的构造函数。

  • 14.1.2构造函数与存储属性初始化

    构造函数的主要作用是初始化实例,其中包括:初始化存储属性和其他的初始化。

  • 14.1.3使用外部参数名

    为了增强程序的可读性,Swift中的方法和函数可以使用外部参数名。构造函数中也可以使用外部参数名。

  • 14.2构造函数重载

    构造函数作为一种特殊方法,也可以重载。Swift中的的构造函数可以有多个,但它们的参数列表和返回值可以不同,这些构造函数构成重载。

  • 14.3析构函数

    与构造过程相反,实例最后释放的时候需要清除一些资源,这个过程就是析构过程。析构过程中也会调用一种特殊的方法deinit,称为析构函数。

  • 15.1从一个示例开始

    一位面向对象的程序员小赵,在编程过程中需要描述和处理个人信息,于是定义了类Person。

  • 15.2.1构造函数调用规则

    指定构造函数必须调用其直接父类的的指定构造函数。便利构造函数必须调用同一类中定义的其他构造函数。•便利构造函数必须最终以调用一个指定构造函数结束。

  • 15.2.2构造过程安全检查

    第一阶段,首先分配内存,初始化子类存储属性,沿构造函数链向上初始化父类存储属性,到达构造函数链顶部,初始化全部的父类存储属性。第二阶段,从顶部构造函数链往下,可以对每个类进行进一步修改存储属性、调用实例方法等处理。

  • 15.2.3构造函数继承

    Swift中的子类构造函数有两种来源:自己编写和从父类继承。并不是父类的所有构造函数都能继承下来,能够从父类继承下来的构造函数是有条件的。

  • 15.3重写

    一个类继承另一个类的属性、方法、下标等特征后,子类可以重写(override )这些特征。

  • 15.4.1使用is进行类型检查

    is操作符可以判断一个实例是否是某个类的类型。如果实例是目标类型,结果返回true,否则为false。

  • 15.4.2使用as、as!和as?进行类型转换

    我们可以使用is操作符来判断它是哪一类的实例。然后在转换时可以使用as操作符将其转换为子类类型,即把Person类型的p1转为Student子类类型。as?操作符是在不确定是否类型转换能够成功的情况下使用,如果成功转换结果是可选类型。如果我们能够确保转换一定成功,可以使用as!操作符在...

  • 15.4.3使用Any和AnyObject类型

    在Swift中还提供了两种类型表示不确定类型:AnyObject和Any。AnyObject可以表示任何类的类型,而Any可以表示任何类型,包括类和其他数据类型,也包括Int和Double等基本数据类型,当然也包括AnyObject类型。

  • 16.1-16.2扩展概念和扩展声明

    在Swift中可以使用一种扩展机制,在原始类型(类、结构体和枚举)的基础上添加新功能。

  • 16.3扩展计算属性

    在原始类型上扩展计算属性,包括实例计算属性和静态计算属性。这些添加计算属性的定义,与普通的计算属性的定义一样。

  • 16.4扩展方法

    可以在原始类型上扩展方法,包括实例方法和静态方法。这些添加方法的定义与普通方法的定义是一样的。

  • 16.5扩展构造函数

    扩展类型的时候也可以添加新的构造函数。值类型与引用类型扩展有所区别。值类型包括了除类以外的其他类型,主要是枚举类型和结构体类型。

  • 16.6扩展下标

    把下标认为是特殊的属性,可以实现索引访问属性。我们可以在原始类型的基础上扩展下标功能。

  • 17.1协议概念

    如果几何图形类中所有的方法都是抽象的,在Swift和Objective-C中我们将这种类称为协议(protocol)。

  • 17.2协议定义和遵从

    在Swift中,类、结构体和枚举类型都可以声明遵从一个或多个协议,并提供该协议所要求属性和方法的具体实现。

  • 17.3协议方法

    协议可以要求其遵从者实现某些指定方法,包括实例方法和静态方法。这些方法在协议中被定义,协议方法与普通方法类似,但不支持变长参数和默认值参数,也不需要大括号和方法体。

  • 17.4协议属性

    协议可以要求其遵从者实现某些指定属性,包括实例属性和静态属性。在具体定义的时候,每一种属性都可以有只读和读写之分。对于遵从者而言,实现属性是非常灵活的。无论是存储属性还是计算属性,只要能满足协议属性的要求,就可以通过编译

  • 17.5面向协议编程

    在很多初学者看来,协议并没有什么用途(协议没有具体的实现代码,不能被实例化),但事实上协议非常重要,它的存在就是为了规范其他类型遵从它,实现它的方法和属性。

  • 17.5.6面向协议编程示例:表视图中使用扩展协议

    扩展和协议是“面向协议编程”重要的类型,扩展概念只有Swift和Objective-C中有,从其他语言过渡来的程序员很不习惯使用扩展。扩展很多时候都可以替换继承,原来由原始类型遵从的协议,可以由扩展来遵从。

  • 18.1-18.2泛型概念和泛型函数

    泛型可以使我们在程序代码中定义一些可变的部分,在运行的时候指定。使用泛型可以最大限度地重用代码、保护类型的安全以及提高性能。在Swift集合中数组、Set和字典都是泛型集合。

  • 18.3泛型类型

    泛型不仅可以在函数中使用,而且可以应用于类、结构体和枚举等类型定义,这些类型这就是泛型类型。泛型类型一般都是与集合有关的类型,如:数组、Set和字典等。

  • 18.4泛型扩展

    泛型类型还可以支持扩展,这种情况下定义的扩展与其他普通扩展没有区别。

  • 19.1Swift内存管理概述

    Swift中的ARC内存管理是对引用类型的管理,即对类所创建的对象采用ARC管理,而对于值类型(如整型、浮点型、布尔型、字符串、元组、集合、枚举和结构体等)是由处理器自动管理的,程序员不需要管理它们的内存。

  • 19.2强引用循环

    当两个对象的存储属性互相引用对方的时候,一个对象释放的前提是对方先释放,另一对象释放的前提也是对方先释放,这样就会导致类似于“死锁”的状态,最后谁都不能释放,从而导致内存泄漏。这种现象就是强引用循环。

  • 19.3.1弱引用

    弱引用允许循环引用中的一个对象不采用强引用方式引用另外一个对象,这样就不会引起强引用循环问题。

  • 19.3.2无主引用

    无主引用与弱引用一样,允许循环引用中的一个对象不采用强引用方式引用另外一个对象,因此不会引起强引用循环问题。

  • 19.4闭包中的强引用循环

    由于闭包本质上是函数类型,所以也是引用类型,因此也可能在闭包和上下文捕获变量(或常量)之间出现强引用循环问题。

  • 20.1Cocoa错误处理模式

    每一种语言几乎都提供自己的错误处理模式,由于历史的原因Swift错误处理模式,在Swift 1.x和Swift 2.x中截然不同。Swift 1.x代码错误处理模式采用Cocoa框架错误处理模式,到现在Objective-C还沿用这种处理模式,而Swift 2.x之后采用了do-try-catch错误处理模式。

  • 20.2do-try-catch错误处理模式

    do-try-catch这种错误处理模式与Java中的异常处理机制非常类似,本意就是尝试(try)做一件事情,如果失败则捕获(catch)处理。

  • 20.2.1-2捕获错误和错误类型

    try语句中可以产生错误,当然也可能不产生错误,而如果有错误发生,catch就会处理错误。catch代码块可以有多个,错误由哪个catch代码块处理由catch后面的错误匹配与否而定。错误类型的多少就决定了catch可以有多少。

  • 20.2.3声明抛出错误

    能放到try后面调用的函数或方法都是有要求的,它们是有可能抛出错误,但你要在这些函数或方法声明的参数后面加上throws关键字,表示这个函数或方法可以抛出错误。

  • 20.2.4在函数或方法中抛出错误

    一个函数或方法能够声明抛出错误,是因为本身产生并抛出了错误,这样函数或方法声明抛出错误才有实际意义。产生并抛出错误有两种方式

  • 20.2.5try问号和try感叹号的使用区别

    我们在使用try进行错误处理时经常会看到try后面跟有问号(?)或感叹号(!),它们有什么区别呢?使用try?会将错误转换为可选值。使用try!可以打破错误传播链条

加载中
所属章节 资料名称 文件大小 下载
相关资料推荐

暂时还没有学习资料~

5

    1
    非常糟

    2
    很差

    3
    一般

    4
    很好

    5
    非常好

    • 0%
    • 0%
    • 0%
    • 0%
    • 0%
    加载中
    没有了哦~

    讲师介绍

    关东升

    关东升

    讲师评分:4.9

    移动开发专家,软件架构师,高级培训讲师,IT作家

    学院服务

    关注公众号领取
    免费VIP会员

    添加学院管家微信进入
    学习社群

    讲师推荐专题

    专题一 Swift语言学习系列专题

    4门课 立省:¥44.84 合计:¥122.40 购买

    2559人学习过

    订阅专栏更多

    推荐图书

    7日学霸榜 有2559人与你一起学习

    课程介绍

    课程大纲

    学习资料

    学员评价

    ¥98.00

    ¥ 78.40

    课程评价

    发表客观评价,上限可得35学分(会员可得70学分)

    从零开始学Swift——语法篇 第二季

    该课程已有 人评价

    课程与描述相符

    老师的讲解表达

    老师的答疑服务

    匿名

    在线
    客服
    在线
    客服

    下载Android客户端

    下载iphone 客户端

    关注官方微信

    返回
    顶部