Swift基础
文章平均质量分 71
落叶刺客
邮箱:aishiqichun@163.com
展开
-
Swift 4新特性研究
先占坑,把代码撸上去,有时间再慢慢填坑,没时间就算了原创 2017-09-21 05:50:52 · 335 阅读 · 0 评论 -
Swift中的内存管理
一、内存分配 值类型,比如说枚举和结构体,它们的内存分配和管理都十分简单。当你新建一个值类型实例时,系统会自动为实例分配大小合适的内存。任何传递实例的操作,比如说作为参数传递给函数,以及存储到属性的操作,它们都会创建实例的副本。当实例不再存在时,Swift会回收内存。因此,我们不需要做任何事情来管理值类型的内存。 在Swift中,内存管理这个议题,通常都是和引用类型,尤其是类相关的。跟值类型一样原创 2017-11-28 15:36:15 · 1407 阅读 · 0 评论 -
Swift编码风格
编码风格是一个比较古老的话题,一般认为它最早是在布里安·柯尼汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)合作出版的《The C Programming Language》一书中出现的,这一风格也被称之为K&R风格。现在大多数程序员使用的编码风格是Google编码风格。虽然对于机器而言,编码风格并没有什么卵用,但是对于程序员而言,良好的编码风格还是非常的重要。因原创 2017-09-21 05:49:52 · 529 阅读 · 0 评论 -
Swift命名规范
在Swift中自定义名字的时候,通常是采用驼峰命名法,也就是混合大小写字母来命名。驼峰命名法又分为小驼峰和大驼峰。小驼峰第一个单词要小写,后面的单词首字母大写,比如说myIntArray;大驼峰所有单词首字母都大写,比如说ViewController。在实际编程过程中,根据内容的不同来选择小驼峰和大驼峰,具体情况如下:类、结构体、枚举和协议的命名应该采用大驼峰;文件名应该采用大驼峰,比如说V原创 2017-09-21 05:49:50 · 1194 阅读 · 0 评论 -
Swift中协议的基础知识
在Swift中,协议用于统一方法和属性,或者说协议是特定的方法和属性的集合,但是它本身并没有实现,它只有声明,具体的实现是由其它遵守该协议的主体来执行的。类、结构体和枚举在声明的时候,都可以遵守一个或者多个协议,并实现协议所要求的属性或者方法。协议的格式一般为:// 定义协议protocol 协议名 { 协议内容}// 遵守协议class(struct/enum) 类型名: 父原创 2017-09-21 05:49:47 · 392 阅读 · 0 评论 -
Swift中的类型检查与转换
类型转换与检查在Swift中的应用还是比较广泛的,一个典型的例子就是在返回collectionView数据源的时候,需要将cell的类型转换成自定义cell的类型:// MARK: - UICollectionView的数据源方法extension WBPhotoBrowserController : UICollectionViewDataSource { func collect原创 2017-09-21 05:49:45 · 442 阅读 · 0 评论 -
Swift中的构造函数及其继承
在Swift中,继承只能发生在类身上,结构体和枚举是不能够被继承的。一个类可以继承另一个类的方法、属性和下标。当一个类继承自另一个类时,这个类就被称之为子类,而被继承的类则被称之为父类(超类)。子类可以重写父类的方法、属性和下标。 在Objective-C中,所有的类都继承自NSObject,而Swift中的类可以没有父类。没有父类的类被称之为基类。NSObject就是Objective-C中原创 2017-09-21 05:49:42 · 830 阅读 · 0 评论 -
Swift中的构造方法
结构体和类在创建实例的过程中需要进行一些初始化的工作,这个过程被称之为构造过程。同样,这些实例在使用完成之后需要做一些清除工作,这个过程被称之为析构过程。下面,我们来学习一下Swift中的构造和析构。 1、构造函数 结构体和类在实例化的过程中会调用init()方法,而这个方法被称之为构造函数。与Objective-C中的构造函数不同,Swift中构造函数没有返回值,可以重载。通常情况下,在原创 2017-09-21 05:49:39 · 340 阅读 · 0 评论 -
Swift中的属性
我们都知道,类是由属性和方法组成的,一般而言,属性主要是用来访问数据成员,而方法则是用来执行某些操作,比如说计算数据等等。在Objective-C中,属性主要是用来访问封装之后的数据成员,属性本身并不存储数据,数据是由数据成员来存储。但是在Swift中,属性承担了多种角色,它远比Objective-C中的属性更为强大。 Swift中的属性可以分为存储属性和计算属性,其中存储属性就相当于Obje原创 2017-09-21 05:49:37 · 307 阅读 · 0 评论 -
Swift中的访问级别
我在之前的笔记《项目基本架构的搭建》中提到过访问级别,这里再做一个详细的补充。Swift提供了5种访问级别,分别为open、public、internal、fileprivate和private。它们既可以修饰类、结构体、枚举等面向对象的类型,也可以修饰变量、常量、下标、元组、函数和属性等类型。其具体的含义为:open:其访问限制是最小的,任何被open修饰的实体,无论是在自己的模块内部,还原创 2017-09-21 05:49:34 · 624 阅读 · 0 评论 -
Swift中的枚举
在Objective-C中,枚举是用来管理一组相关常量的集合,使用枚举可以提高程序的可读性,使代码更容易维护。但是,在Swift中,枚举的作用已经不仅仅是用来定义一组枚举了。在Swift中,枚举还具有一定的面向对象的特点。在Swift中,枚举的声明还是使用关键字enum,其具体格式为:enum 枚举名 { 枚举的定义} 在学习Objective-C的时候,我们知道,枚举的成员值是整原创 2017-09-21 05:49:31 · 344 阅读 · 0 评论 -
Swift中的闭包
1、闭包的概念 一门计算机语言如果要支持闭包,必须要有两个前提:支持函数类型,也就是说可以将函数作为参数进行传递,或者能够将函数作为返回值;支持函数嵌套。闭包是一种自包含的匿名函数代码块,它可以作为表达式、函数参数或者函数返回值。闭包表达式的运算结果是一种函数类型。闭包表达式的标准语法格式为:// 闭包表达式的标准格式{(参数列表) -> 返回值类型 in 语句组}// 闭包原创 2017-09-21 05:49:29 · 567 阅读 · 0 评论 -
Swift基础知识补充(三)
1、集合类型 Swift中的集合类型主要是指Array、Dictionary和Set,详细情况参见《Swift中常用的数据结构(上)》。Array中的元素是有序的,可以重复出现;Set里面的元素是无序的,不能重复出现。另外,Dictionary中的键(Key)和值(Value)也是无序的,并且键(Key)是不能重复的,但是值(Value)却可以重复出现。 声明数组和字典时,既可以使用泛型语原创 2017-09-21 05:49:26 · 244 阅读 · 0 评论 -
Swift基础知识补充(二)
1、字符 在Objective-C中,字符是放在单引号('a')之间的。但是,在Swift中不能用这种方式表示。Swift中无论是字符还是字符串,都必须使用双引号("a"和"abc"):let c: Character = 'a' // 编译错误// 字符类型也需要放在双引号之间let d: Character = "d" // 正确的写法let e: Character =原创 2017-09-21 05:49:23 · 456 阅读 · 0 评论 -
Swift基础知识补充(一)
1、数据类型 在Swift数据类型主要分为值类型和引用类型。其中,整型(Int)、浮点型(Float)、布尔型(Bool)、字符(Character)、字符串(String)、元组、集合(Array、Dictionary和Set)、枚举(enum)和结构体(struct)均属于值类型;而类(class)是引用类型。值类型在传递或者赋值的过程中先创建一个副本,然后再把副本传递或者赋值过去,在函数原创 2017-09-21 05:49:21 · 334 阅读 · 0 评论 -
值类型和引用类型
像其它很多编程语言一样,Swift中也有很多内建的基本类型,比如说,整型、浮点型、数组、字典、元组,以及类等等。按照基本类型实例在作为参数进行传递,或者赋值给另外一个实例时所遵循的不同机制,这些基本类型又可以划分为值类型和引用类型。结构体、枚举和元组是典型的值类型数据结构,类则是引用类型数据结构。一、值类型和引用类型的基本概念 值类型和引用类型具有非常明显的区别,这主要体现在它们...原创 2018-03-13 02:32:03 · 633 阅读 · 0 评论