关东升

2024/4/25 8:28:15

《从零开始学Swift》学习笔记(Day48)——类型检查与转换

原创文章,欢迎转载。转载请注明:关东升的博客继承会发生在子类和父类之间,是一系列类的继承关系。例如:Person是类层次结构中的根类,Student是Person的直接子类,Worker是Person的直接子类。这个继承关系类的…

《从零开始学Swift》学习笔记(Day 71)——Swift与C/C++混合编程之数据类型映射

原创文章,欢迎转载。转载请注明:关东升的博客如果引入必要的头文件,在Objective-C语言中可以使用C数据类型。而在Swift语言中是不能直接使用C数据类型,苹果公司为Swift语言提供与C语言相对应数据类型。这些类型主要包括&#xff1…

《从零开始学Swift》学习笔记(Day 64)——Cocoa Touch设计模式及应用之目标与动作

原创文章,欢迎转载。转载请注明:关东升的博客目标(Target)与动作(Action)是iOS和OS X应用开发的中事件处理机制。问题提出如图所示是一个ButtonLabelSample案例设计原型图,其中包含一个标签和一个按钮,当点击按钮的时候&#xff0…

《从零开始学Swift》学习笔记(Day 49)——扩展声明

原创文章,欢迎转载。转载请注明:关东升的博客声明扩展的语法格式如下:extension 类型名 { //添加新功能}声明扩展的关键字是extension,“类型名”是Swift中已有的类型,包括类、结构体和枚举,但是我们仍然…

《从零开始学Swift》学习笔记(Day 46)——下标重写

原创文章,欢迎转载。转载请注明:关东升的博客下标是一种特殊属性。子类属性重写是重写属性的getter和setter访问器,对下标的重写也是重写下标的getter和setter访问器。下面看一个示例: class DoubleDimensionalArray { let rows: …

《从零开始学Swift》学习笔记(Day 62)——Core Foundation框架之内存托管对象与非托管对象

原创文章,欢迎转载。转载请注明:关东升的博客内存托管对象Swift中调用CoreFoundation函数获得对象时候,对象分为:内存托管对象和内存非托管对象。内存托管对象就是由编译器帮助管理内存,我们不需要调用CFRetain函数获得…

《从零开始学Swift》学习笔记(Day 57)——Swift编码规范之注释规范:文件注释、文档注释、代码注释、使用地标注释

原创文章,欢迎转载。转载请注明:关东升的博客前面说到Swift注释的语法有两种:单行注释(//)和多行注释(/*...*/)。这里来介绍一下他们的使用规范。 1、文件注释文件注释就在每一个文件开头添加注…

《从零开始学Swift》学习笔记(Day 21)——函数返回值

原创文章,欢迎转载。转载请注明:关东升的博客 返回值3种形式:无返回值、单一返回值和多返回值。无返回值函数所谓无返回结果,事实上是Void类型,即表示没有数据的类型。无返回值函数的语法格式…

《从零开始学Swift》学习笔记(Day 15)——请注意数字类型之间的转换

原创文章,欢迎转载。转载请注明:关东升的博客 在C、Objective-C和Java等其他语言中,整型之间有两种转换方法: 从小范围数到大范围数转换是自动的; 从大范围数到小范围数需要强制类型转换…

《从零开始学Swift》学习笔记(Day 29)——访问级别

原创文章,欢迎转载。转载请注明:关东升的博客访问级别:Swift提供了3种不同访问级别,对应的访问修饰符为:public、internal和private。这些访问修饰符可以修饰类、结构体、枚举等面向对象的类型,还可以修饰变…

《从零开始学Swift》学习笔记(Day 23)——尾随闭包

原创文章,欢迎转载。转载请注明:关东升的博客 闭包表达式可以作为函数的参数传递,如果闭包表达式很长,就会影响程序的可读性。尾随闭包是一个书写在函数括号之后的闭包表达式,函数支持将其作为最后一个参数调用。 下面…

《从零开始学Swift》学习笔记(Day 24)——枚举

原创文章,欢迎转载。转载请注明:关东升的博客 Swift中的枚举可以定义一组常量、提高程序的可读性;还具有面向对象特性。使用enum关键词声明枚举类型,具体定义放在一对大括号内,枚举的语法格式如下:enum 枚…

《从零开始学Swift》学习笔记(Day 10)——运算符是“ +、-、*、/ ”吗?

原创文章,欢迎转载。转载请注明:关东升的博客 运算符是用于执行程序代码运算,会针对一个或一个以上操作数项目来进行运算。例如:23,其操作数是2和3,而运算符则是“”。那么“、-、*、/”是运算符。 运算…

《从零开始学Swift》学习笔记(Day 52)——Cocoa错误处理模式

原创文章,欢迎转载。转载请注明:关东升的博客Swift错误处理模式,在Swift1.x和Swift 2.0是不同的两种模式。Swift 1.x代码错误处理模式采用Cocoa框架错误处理模式,到现在Objective-C还沿用这种处理模式,而Swift2.0之后采…

《从零开始学Swift》学习笔记(Day 35)——会使用下标吗?

原创文章,欢迎转载。转载请注明:关东升的博客看下面的示例代码是不是使用过:var studentList: String[] ["张三","李四","王五"]studentList[0] "诸葛亮"var studentDic…

《从零开始学Swift》学习笔记(Day 63)——Cocoa Touch设计模式及应用之单例模式

原创文章,欢迎转载。转载请注明:关东升的博客什么是设计模式。设计模式是在特定场景下对特定问题的解决方案,这些解决方案是经过反复论证和测试总结出来的。实际上,除了软件设计,设计模式也被广泛应用于其他领域&#…

《从零开始学Swift》学习笔记(Day 37)——默认构造函数

Swift 2.0学习笔记(Day 37)——默认构造函数原创文章,欢迎转载。转载请注明:关东升的博客 结构体和类的实例在构造过程中会调用一种特殊的init方法,称为构造函数。构造函数没有返回值,可以重载。在多个构造…

《从零开始学Swift》学习笔记(Day54)——抛出错误

原创文章,欢迎转载。转载请注明:关东升的博客能放到try后面调用函数或方法都是有要求的,他们是有可能抛出错误,在这些函数或方法声明的参数后面要加上throws关键字,表示这个函数或方法可以抛出错误。声明抛出错误方法示…

《从零开始学Swift》学习笔记(Day 53)——do-try-catch错误处理模式

原创文章,欢迎转载。转载请注明:关东升的博客 Swift 1.x的错误处理模式存在很多弊端,例如:为了在编程时候省事,给error参数传递一个nil,或者方法调用完成后不去判断error是否为nil…

《从零开始学Swift》学习笔记(Day60)——Core Foundation框架

创文章,欢迎转载。转载请注明:关东升的博客Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API。虽然在Swift中调用这种C语言风格的API比较麻烦,但是在OS X和iOS开发过程中,有…

《从零开始学Swift》学习笔记(Day 9)——离开表达式你试试!

Swift 2.0学习笔记(Day 9)——离开表达式你试试! 原创文章,欢迎转载。转载请注明:关东升的博客 表达式啊是很重要地。 在Swift中,表达式有3种形式。 l 不指定数据类型 var a1 10 l 指定数据类型 var a1:…

《从零开始学Swift》学习笔记(Day 34)——静态属性是怎么回事?

原创文章,欢迎转载。转载请注明:关东升的博客我先来设计一个类:有一个Account(银行账户)类,假设它有3个属性:amount(账户金额)、interestRate(利率&#xff0…

《从零开始学Swift》学习笔记(Day 17)——Swift中数组集合

原创文章,欢迎转载。转载请注明:关东升的博客数组(Array)是一串有序的由相同类型元素构成的集合。数组中的集合元素是有序的,可以重复出现。声明一个Array类型的时候可以使用下面的语句之一。…

《从零开始学Swift》学习笔记(Day 51)——扩展构造函数

创文章,欢迎转载。转载请注明:关东升的博客扩展类型的时候,也可以添加新的构造函数。值类型与引用类型扩展有所区别。值类型包括了除类以外的其他类型,主要是枚举类型和结构体类型。值类型扩展构造函数扩展结构体类型中定义构造函…

《从零开始学Swift》学习笔记(Day 6)——哎呀常量和变量都该什么时候用啊?

原创文章,欢迎转载。转载请注明:关东升的博客 使用var还是let?在我们开发过程中啊什么时候定义关键字为var,还是定义为let呢?其实啊都能满足我们的需求,那我们到底应该如何选择&am…

《从零开始学Swift》学习笔记(Day 47)——final关键字

原创文章,欢迎转载。转载请注明:关东升的博客在类的定义中使用final关键字声明类、属性、方法和下标。final声明的类不能被继承,final声明的属性、方法和下标不能被重写。下面看一个示例: final class Person { //声明为final&…

《从零开始学Swift》学习笔记(Day 33)——属性观察者

原创文章,欢迎转载。转载请注明:关东升的博客为了监听属性的变化,Swift提供了属性观察者。属性观察者能够监听存储属性的变化,即便变化前后的值相同,它们也能监听到。属性观察者主要有以下两个:willSet&…

《从零开始学Swift》学习笔记(Day67)——Cocoa Touch设计模式及应用之MVC模式

原创文章,欢迎转载。转载请注明:关东升的博客MVC(Model-View-Controller,模型-视图-控制器)模式是相当古老的设计模式之一,它最早出现在Smalltalk语言中。现在,很多计算机语言和架构都采用了MVC…

《从零开始学Swift》学习笔记(Day 50)——扩展计算属性、方法

原创文章,欢迎转载。转载请注明:关东升的博客可以在原始类型上扩展计算属性,包括实例计算属性和静态计算属性。添加计算属性的定义,与普通的计算属性的定义是一样的。实例计算属性示例:在网络编程时,为了减…

《从零开始学Swift》学习笔记(Day 45)——重写方法

原创文章,欢迎转载。转载请注明:关东升的博客 重写实例方法在子类中重写从父类继承来的实例方法和静态方法。先介绍实例方法的重写。下面看一个示例:class Person { var name: Stringvar age: Int func descrip…

关东升的《从零开始学Swift》3月9日已经上架

大家一直期盼的《从零开始学Swift》于3月9日已经上架,它是关东升老师历时8个月的呕心沥血所编著,全书600多页,此本书基于Swift 2.x,通过大量案例全面介绍苹果平台的应用开发。全书共分5 部分,包括Swift语法篇、Cocoa T…

《从零开始学Swift》学习笔记(Day 68)——Cocoa Touch设计模式及应用之响应者链与触摸事件

原创文章,欢迎转载。转载请注明:关东升的博客应用与用户进行交互,依赖于各种各样的事件。事件响应者对象是可以响应事件并对其进行处理的对象,响应者链是由一系列链接在一起的响应者组成的。响应者链在事件处理中是非常重要的&…

《从零开始学Swift》学习笔记(Day 66)——Cocoa Touch设计模式及应用之通知机制

原创文章,欢迎转载。转载请注明:关东升的博客通知(Notification)机制是基于观察者(Observer)模式也叫发布/订阅(Publish/Subscribe)模式,是 MVC( 模型-视图-控…

《从零开始学Swift》学习笔记(Day 65)——Cocoa Touch设计模式及应用之选择器

原创文章,欢迎转载。转载请注明:关东升的博客实现目标与动作关联使用UIControl类addTarget(_:action:forControlEvents:)方法,示例代码如下:button.addTarget(self, action: "onClick:", forControlEvents: UIControlEv…

《从零开始学Swift》学习笔记(Day 56)—— Swift编码规范之命名规范

原创文章,欢迎转载。转载请注明:关东升的博客程序代码中到处都是自己定义的名字,取一个有样并且符合规范的名字非常重要。命名方法很多,但是比较有名的,广泛接受命名法有:匈牙利命名,一般只是命…

《从零开始学Swift》学习笔记(Day 42)——构造函数调用规则

原创文章,欢迎转载。转载请注明:关东升的博客在构造函数中可以使用构造函数代理帮助完成部分构造工作。类构造函数代理分为横向代理和向上代理,横向代理只能在发生在同一类内部,这种构造函数称为便利构造函数。向上代理发生在继承…

《从零开始学Swift》学习笔记(Day 28)——总结使用问号(?)和感叹号(!)

原创文章,欢迎转载。转载请注明:关东升的博客在使用可选类型和可选链时,多次使用了问号(?)和感叹号(!),但是它们的含义是不同的,下面我来详细说明一下。 1. 可选类型中的…

《从零开始学Swift》学习笔记(Day 26)——可选链

Swift2.0学习笔记(Day 26)——可选链原创文章,欢迎转载。转载请注明:关东升的博客 在Swift程序表达式中会看到问号(?)和感叹号(!),它们代表什么…

《从零开始学Swift》学习笔记(Day 22)——闭包那些事儿!

原创文章,欢迎转载。转载请注明:关东升的博客 我给Swift 中的闭包一个定义:闭包是自包含的匿名函数代码块,可以作为表达式、函数参数和函数返回值,闭包表达式的运算结果是一种函数类型。Swift…

《从零开始学Swift》学习笔记(Day 19)——函数参数传递

原创文章,欢迎转载。转载请注明:关东升的博客 函数的语法格式如下: func 函数名(参数列表) -> 返回值类型 {语句组return 返回值}关键字是func。多个参数列表之间可以用逗号(,)分隔&#x…

《从零开始学Swift》学习笔记(Day 14)——字符串的插入、删除和替换

原创文章,欢迎转载。转载请注明:关东升的博客 对应可变字符串可以插入、删除和替换,String提供了几个方法可以帮助实现这些操作。这些方法如下:splice(_:atIndex:)。在索引位置插入字符串。insert(_:atIn…

《从零开始学Swift》学习笔记(Day 11)——数据类型那些事儿?

原创文章,欢迎转载。转载请注明:关东升的博客 在我们学习语言时都会学到这种语言的数据类型,在Swift中数据类型有那些呢?整型、浮点型、布尔型、字符、字符串这些类型是一定有的,其中集合、枚…

《从零开始学Swift》学习笔记(Day 8)——小小常量、变量大作用

原创文章,欢迎转载。转载请注明:关东升的博客 计算机语言学习中都有常量和变量,他们几乎是我编写代码的灵魂了,离开他们我真的是“活不了”常量是标识符的前面加上关键字let。常量其值在使用过程中不会发…

《从零开始学Swift》学习笔记(Day5)——我所知道的标识符和关键字

Swift 2.0学习笔记(Day5)——我所知道的标识符和关键字原创文章,欢迎转载。转载请注明:关东升的博客 好多计算机语言都有标识符和关键字,一直没有好好的总结,就是这样的用着&#…

《从零开始学Swift》学习笔记(Day 2)——使用Web网站编写Swift代码

Swift2.0学习笔记——使用Web网站编写Swift代码原创文章,欢迎转载。转载请注明:关东升的博客 Swift程序不能在Windows其他平台编译和运行,有人提供了一个网站swiftstub.com,左栏是代码编辑窗口&#xff0…

《从零开始学Swift》学习笔记(Day 32)——计算属性

原创文章,欢迎转载。转载请注明:关东升的博客计算属性本身不存储数据,而是从其他存储属性中计算得到数据。 计算属性概念:计算属性提供了一个getter(取值访问器)来获取值,以及一个可选的setter&…

《从零开始学Swift》学习笔记(Day 69)——Swift与Objective-C混合编程之语言

原创文章,欢迎转载。转载请注明:关东升的博客在Swift语言出现之前,开发iOS或OS X应用主要使用Objective-C语言,此外还可以使用C和C语言,但是UI部分只能使用Objective-C语言。选择语言Swift语言出现后,苹果公…

《从零开始学Swift》学习笔记(Day 20)——函数中参数的传递引用

原创文章,欢迎转载。转载请注明:关东升的博客 参数的传递引用类是引用类型,其他的数据类型如整型、浮点型、布尔型、字符、字符串、元组、集合、枚举和结构体全部是值类型。有的时候就是要将一个值类型参数以引用方式…

《从零开始学Swift》学习笔记(Day 18)——有几个分支语句?

原创文章,欢迎转载。转载请注明:关东升的博客 分支语句又称条件语句,Swift编程语言提供了if、switch和guard三种分支语句。if语句由if语句引导的选择结构有if结构、if-else结构和else-if结构3种。if结构示例代码如下…

《从零开始学Swift》学习笔记(Day 55)——使用try?和try!区别

原创文章,欢迎转载。转载请注明:关东升的博客在使用try进行错误处理的时候,经常会看到try后面跟有问号(?)或感叹号(!),他们有什么区别呢?1.使用try? try?会将错误转换…

《从零开始学Swift》学习笔记(Day 7)——Swift 2.0中的print函数几种重载形式

原创文章,欢迎转载。转载请注明:关东升的博客 Swift 2.0中的print函数有4种重载形式:print(_:)。输出变量或常量到控制台,并且换行。print(_:_:)。输出变量或常量到指定类型的流中,并且换行。…

《从零开始学Swift》学习笔记(Day 70)——Swift与Objective-C混合编程之Swift与Objective-C API映射

原创文章,欢迎转载。转载请注明:关东升的博客Swift与Objective-C API映射在混合编程过程中Swift与Objective-C调用是双向的,由于不同语言对于相同API的表述是不同的,他们之间是有某种映射规律的,这种API映射规律主要体…

《从零开始学Swift》学习笔记(Day 36)——静态方法

原创文章,欢迎转载。转载请注明:关东升的博客静态方法与静态属性类似,Swift中定义了静态方法,也称为类型方法。静态方法的定义与静态属性类似,枚举和结构体的静态方法使用的关键字是static;类静态方法使用的…

《从零开始学Swift》学习笔记(Day 27)——可选类型

原创文章,欢迎转载。转载请注明:关东升的博客可选类型:我们先看看如下代码:var n1: Int 10n1 nil //编译错误let str: String nil //编译错误Int和String类型不能接受nil的,但程序运行过程中有时被复制给…

《从零开始学Swift》学习笔记(Day 13)——数据类型之整型和浮点型

原创文章,欢迎转载。转载请注明:关东升的博客 Swift提供8、16、32、64位形式的有符号及无符号整数。这些整数类型遵循C语言的命名规约,我归纳了Swift中的整型:整型示例:print("UInt8 ran…

《从零开始学Swift》学习笔记(Day 1)——我的第一行Swift代码

Swift 2.0学习笔记——我的第一行Swift代码原创文章,欢迎转载。转载请注明:关东升的博客 当第一次看到下面代码时我石化了,这些代码是什么东东?单词拼出来的? import Foundation var str …

《从零开始学Swift》学习笔记(Day 44)——重写属性

原创文章,欢迎转载。转载请注明:关东升的博客重写实例属性我们可以在子类中重写从父类继承来的属性,属性有实例属性和静态属性之分,他们在具体实现也是不同的。实例属性的重写一方面可以重写getter和setter访问器,另一…

《从零开始学Swift》学习笔记(Day43)——构造函数继承

原创文章,欢迎转载。转载请注明:关东升的博客Swift中的子类构造函数的来源有两种:自己编写和从父类继承。并不是父类的所有的构造函数都能继承下来,能够从父类继承下来的构造函数是有条件的,如下所示。条件1&#xff1…

《从零开始学Swift》学习笔记(Day 3)——Swift 2.0之后增加的关键字

Swift 2.0学习笔记(Day 3)——Swift 2.0之后增加的关键字原创文章,欢迎转载。转载请注明:关东升的博客 看了之前的学习笔记知道了什么是关键字,现在提示各位在Swift 2.0之后增加defer、guard、…

《从零开始学Swift》学习笔记(Day 31)——存储属性

原创文章,欢迎转载。转载请注明:关东升的博客 Swift中的属性分为存储属性和计算属性,存储属性就是Objective-C中的数据成员,计算属性不存储数据,但可以通过计算其他属性返回数据。存储属性可以存储数据,分…

《从零开始学Swift》学习笔记(Day 41)——类的继承

原创文章,欢迎转载。转载请注明:关东升的博客Swift中的继承只能发生在类上,不能发生在枚举和结构体上。一个类可以继承另一个类的方法、属性、下标等特征,当一个类继承其他类时,继承类叫子类,被继承类叫父类…

《从零开始学Swift》学习笔记(Day 40)——析构函数

原创文章,欢迎转载。转载请注明:关东升的博客与构造过程相反,实例最后释放的时候,需要清除一些资源,这个过程就是析构过程。在析构过程中也会调用一种特殊的方法deinit,称为析构函数。析构函数deinit没有返…

《从零开始学Swift》学习笔记(Day 39)——构造函数重载

原创文章,欢迎转载。转载请注明:关东升的博客构造函数作为一种特殊方法,也可以重载。Swift中构造函数可以多个,他们参数列表和返回值可以不同,这些构造函数构成重载。示例代码如下:class Rectangle {var wi…

《从零开始学Swift》Swift 2.0学习笔记(Day 38)——构造函数与存储属性初始化

原创文章,欢迎转载。转载请注明:关东升的博客构造函数的主要作用是初始化实例,其中包括:初始化存储属性和其它的初始化。在Rectangle类或结构体中,如果在构造函数中初始化存储属性width和height后,那么在定…

《从零开始学Swift》学习笔记(Day 30)——选择类还是结构体呢?

原创文章,欢迎转载。转载请注明:关东升的博客类和结构体非常相似,很多情况下没有区别。如果你是设计人员在进行系统设计时候,是将某种类型设计成为类还是结构体? 类和结构体异同:类和结构体都有如下功能&am…

关东升的《从零开始学Swift》即将出版

大家好:苹果2015WWDC大会发布了Swift2.0,它较之前的版本Swift1.x有很大的变化,所以我即将出版《从零开始学Swift》《从零开始学Swift》将在《Swift开发指南》第1版的基础上添加Swift2.0的内容,同时摒弃第1版的一些不合理的内容&am…