- 博客(20)
- 资源 (18)
- 问答 (4)
- 收藏
- 关注
原创 Object-C--->Swift之(十)存储属性
计算属性相当于Object-C的getter、setter合成的属性,在Swift中结构体、类都可以定义计算属性定义计算属性[修饰符] var 计算属性名:属性类型{ get{ //getter方法执行体,该方法必须有返回值 } [set(形参名) { //setter方法执行体,该方法一定不能有返回值 }]}注意:var计算属性只能定义成变量形式enum Season{ca
2016-01-30 12:53:34 959
原创 Object-C--->Swift之(九)延迟存储属性
Swift引入了一种新的机制–延迟存储属性机制,在第一次被调用时才会被计算初始值的属性,声明时需要使用lazy修饰符。 注意:定义属性时一定得是变量(var),常量是无法使用延迟存储机制。什么时候用到延迟存储?当某个实例持有另一个创建成本较大的实例的引用时,使用延迟存储可以降低内存开销,从而提升性能。 class Bird { var name:String var age:Int
2016-01-29 10:45:44 911
原创 Object-C--->Swift之(八)类和结构体
在Swift中类和结构体有高度的相似性。二者主要区别是: 1. 结构体不支持继承 2. 结构体不支持定义析构器 3. 结构体是值类型,而类是引用类型定义类语法格式:[修饰符]class 类名{零个到多个构造器零个到多个属性零个到多个方法零个到多个下标}对一个类定义而言,包括3种最常见的成员:构造器、属性、方法,如果程序员没有为一个类提供构造器,则系统会为该类提供一个默认、无参数的
2016-01-28 20:19:15 979
原创 Object-C--->Swift之(八)枚举
声明枚举Swift使用enum定义枚举,语法格式为enum 枚举名{//使用case关键字列出所有枚举值//枚举的其他成员}Swift即允许每个枚举值单独用一个case关键字,也允许使用一个case定义多个枚举值,多个枚举值之间以英文逗号隔开。枚举名从程序可读性方面来看,swift枚举名必须是有一个或多个有意义的单词连缀而成的,每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任
2016-01-28 14:26:35 1063
原创 小菜一步一步学数据结构之(六)队列
队列是一种先进先出的线性表,它只允许在表的一段进行插入,而在另外一端删除元素。 队列的顺序表示—用一维数组base[M] #define M 100//最大队列长度 Typedef struct{ QElemType *base; int front; int rear; }SqQu
2016-01-26 11:31:09 1116
原创 Object-C--->Swift之(七)嵌套函数与闭包
嵌套函数函数分为全局函数和局部函数,前面已经介绍了全局函数,下面介绍下局部函数,定义在函数体内部的函数可以成为嵌套函数。 注意:嵌套函数对外是隐蔽的,只能在其封闭函数内有效,嵌套函数只能在其封闭函数内有效,其封闭函数也可以返回嵌套函数,以便于程序在其他作用域内使用嵌套函数。func Math(#type:String)->(Int)->Int{ func square(val:Int)->In
2016-01-24 12:15:44 1722
原创 Object-C--->Swift之(七)函数重载
是什么是函数重载?名字相同的函数出现在一起,就构成了函数重载,只要形参列表或者返回值类型不同就行。判断条件形参列表、返回值类型组成、外部形参名三者其中一种不一样均可作为函数重载 举例说明 //该函数类型为()->Void func test() { } //该函数类型为(String)->Void或者(String)->() func t
2016-01-23 12:09:59 1305
原创 Object-C--->Swift之(六)函数类型
认识函数类型每个函数都有特定的函数类型函数类型是由函数的形参类型、->和返回值类型组成。例如:func Add(a:Int,b:Int){...}该函数的函数类型为(Int,Int)->Void或者(Int,Int)->()func Add()->Int{ ...}该函数的函数类型为()->Intfunc Add(){ ...}该函数的函数类型为()->()或者()
2016-01-22 20:05:18 749
原创 小菜一步一步学数据结构之(五)顺序栈
定义只能在表的一端(栈顶)进行插入和删除运算的线性表逻辑结构一对一关系存储结构用顺序栈或链栈存储均可,但以顺序栈更常见 运算规则只能从栈顶运算,且访问结点时依照后进先出(LIFO)或后进后出(FILO)的原则实现方法关键是编写入栈和出栈函数,具体实现依顺序栈或链栈的不同而不同基本操作入栈出栈读栈顶元素值建栈判断栈满栈空栈与一般线性表的区别栈是一种特殊的线性表,它只能在表的一端(栈顶)
2016-01-17 19:38:49 1413
原创 Object-C--->Swift之(七)丰富的函数形参功能
前面我们介绍了函数的入门语法,今天就仔细学习下函数的形参功能经典款式 func addDouble(a:Float,b:Float)->Float { return a+b }这个函数最经典的样式,实现了两个数的相加的功能外部参数我们在实际项目开发中类似这样的函数给形参传值的时候因没有介绍性的语句会出现传参错误。于是Swift保留了Object-C的优秀传统,在函
2016-01-17 13:21:06 1275
原创 Object-C--->Swift之(六)函数入门级讲解
定义实例函数语法func 函数名(形参列表)[->返回值类型]{//实现功能的代码}定义类函数class func 函数名(形参列表)[->返回值类型]{//实现功能的代码}注意:声明函数必须用func关键字,声明类函数必须加上class函数名尽可能的表达出这个函数功能意图,多个单词的话,第一个单词的首字母小写其他单词的首字母要大写形参列表是可以根据具体情况省略内容的,多组
2016-01-16 19:57:26 823
原创 小菜一步一步学数据结构之(四)单链表
上一篇博客学习了顺序表,最后也说明了顺序表属于静态存储,数据元素的个数不能自由的扩充。为了解决这个问题我们引入了链表链表存储结构结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻,因此线性表的链式表示又称为非顺序映像或链式映像。各个结点有两个域组成: * 数据域:存储元素数值数据 * 指针域:存储直接后继结点的存储位置 名词解析 1. 结点:数据元素的存储映像。有数据域和
2016-01-16 15:56:09 1749
原创 Object-C--->Swift之(四)强大的Switch
Swift依然继承了C和Object的Switch语句,但在原有的基础上进行了改变,使其变得更加强大任性的case标签:case标签可以紧跟多个值 var score = "C" switch score { case "A","a": print("优秀") case "B","b": print("良好") case "
2016-01-15 12:45:26 1080
原创 Object-C--->Swift之(三)nil合并运算符、范围运算符
nil合并运算符在Swift中引入一种新的运算符nil合并运算符:??,它的格式如下: let c = a??b 它的含义如下:判断可选变量a是否为nil,如果a不为nil,c就等于a所包装的真实值,如果a为nil,则程序会返回b的值。注意这里有两个必须条件: 1. a必须是可选类型的。 2. b的类型必须要和a的强制解析后的类型一致。 其实上边的代
2016-01-14 12:08:45 1201
原创 Object-C--->Swift之(二)可选类型
可选和nil的恋情 先看一个例子吧! let str="hello world" let num:Int=Int(str)这两行代码的意思str字符串转换成Int类型,嘿嘿!这不是坑计算机吗?hello world能转换成Int类型的数字吗?很显然不能,而且我们运行都不会通过的!可是我们把第二行代码换成 let num:Int?= Int(str)编译就通过了!就这
2016-01-13 21:41:52 1270
原创 Object-C--->Swift之(一)元组(tuple)类型
元组(tuple)类型 元组(tuple)使用圆括号把多个值组成一个复合值,里面的每个值可以是任意类型,而且它们之间可以不同类型。格式 变量或常量关键字 元组变量 = ( 变量,变量, …)保存某个信息表上的一行信息,可以创建一个元组var information=(1315925388,"小明","男",21)也可以这样创建 var information1:(Int64,String
2016-01-13 20:04:28 1250
原创 小菜一步一步学数据结构之(三)线性表的顺序存储结构
线性表的定义和特点有n(n≥0)个数据特性相同的元素构成的有序序列称为线性表。当个数n(n≥0)定于为线性表的长度,n=0时成为空表。特点:只有一个首结点和尾结点;除首尾结点外,其他结点只有一个直接前驱和一个直接后继。分析26个英文字母组成的英文表(A,B,C,D,…..,Z)数据元素都是字母,元素间关系是线性抽象数据类型的定义为:ADT List{ 数据对象:D={ai|ai∈ElemSe
2016-01-13 15:34:15 1300
原创 小菜一步一步学数据结构之(二)算法和算法分析
一次数学课上,老师让学生练习算数。于是让他们一个小时内算出1+2+3+4+5+6+……+100的得数。全班只有高斯用了不到20分钟给出了答案,因为他想到了用(1+100)+(2+99)+(3+98)……+(50+51)…………一共有50个101,所以50×101就是1加到一百的得数。后来人们把这种简便算法称作高斯算法。算法定义:一个有穷的指令集,这些指令为解决某一特定任务规定了一个运算序列算法的描
2016-01-12 13:15:22 1234
原创 小菜一步一步学数据结构之(一)基本概念和术语
数据结构是一门研究非数值计算程序设计中的操作对象,以及这些对象之间的关系和操作的学科。基本概念和术语*数据(data)–所有能输入到计算机中去的描述客观事物的符号的总称 *数据元素(data element)–数据的基本单位,也成结点(node)或记录(record) 数据项(data item)–有独立含义的数据最小单位,也成域(field)* 三者之间的关系:数据>数据元素>数据
2016-01-11 20:16:21 1397
main.cpp测试用例分析
2019-12-08
iOS CoreSpotlight的简单实现
2016-01-04
UIPageControl+UIScrollView
2015-04-09
ios常用模板框架之Nav+UITabBar代码
2015-04-06
UIScrollView页面自动滚动效果(记得给好评呀)
2015-01-29
NSIS RadioButton 分组问题
2017-07-26
VC++ Ftp用scoket和Winint两种方法各有什么优势?
2017-07-19
iOS联网问题,求大家帮我看下
2015-12-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人