构造过程是为了使用某个类、结构体或枚举类型的实例而进行的准备过程,在构造过程中,对每个属性进行了初始值预设和其他必要的准备和初始化工作。
与OC相比,swift的构造函数,不需要返回值。同时,在类和结构体的构造过程中,必须对所有的存储类型属性,包含继承自父类的属性,赋予合适的初始值。存储类型值不能处于一个未知状态。
在对属性进行初始化过程中,有两种方法,第一:使用构造方法,第二:在定义属性时,...
分类:
其他好文 时间:
2014-06-22 22:48:43
阅读次数:
340
一 、扩展
扩展是为一个已经存在的类、结构、枚举类型添加新功能的一种方式,包括为不能存取源代码的那些已经存在的类型添加功能。
扩展类似于Objective-C语言中的类别,与类别不同的是Swift语言的扩展没有名字。
扩展能够为已存在类型:
1)增加计算属性和计算静态属性;
2)定义新的实例方法和类型方法;
3)提...
分类:
移动开发 时间:
2014-06-22 20:37:42
阅读次数:
264
图论中一个经典问题就是求最短路,最为基础和最为经典的算法莫过于 Dijkstra 和 Floyd 算法,一个是贪心算法,一个是动态规划,这也是算法中的两大经典代表。用一个简单图在纸上一步一步演算,也是很好理解的,理解透自己多默写几次即可记住,机试时主要的工作往往就是快速构造邻接矩阵了。
对于平时的练习,一个很厉害的 ACMer 说:“刷水题可以加快我们编程的速度,做经典则可以让我们触类旁通,初期如果遇见很多编不出,不妨就写伪代码,理思路,在纸上进行整体分析和一步步的演算,然后在转换成代码,再反复迭代”。L...
分类:
其他好文 时间:
2014-06-22 20:36:46
阅读次数:
269
一、方法
方法是与特定类型相关的函数。与属性一样,方法也包括实例方法和类型方法。
类、结构、枚举都能定义实例方法,用来封装或实现给定类型的一个实例相关的功能或特定任务。
类、结构、枚举也能定义与类型本身相关的类型方法。类型方法与Objective-C语言中的类方法相似,类型方法只能在类型本身上调用。
2.1 实例方法的定义...
分类:
移动开发 时间:
2014-06-22 20:24:10
阅读次数:
236
扩展
扩展可以让我们给一个已有的类、结构体、枚举等类型添加新功能,包括属性和方法,甚至是构造器,下标,支持协议等等。。。
甚至是我们拿不到源代码的类、结构体、枚举,我们依然可以给它加扩展。。。
看到这里的时候,我还有点小激动呢。。。可是淡定下来之后,觉得这TMD就是个大大的飞线,飞线,飞线。。。这让我们的代码难以理解全面(总要担心是不是哪里还有扩展,我没读到的。。谁会不会在哪...
分类:
其他好文 时间:
2014-06-22 18:45:04
阅读次数:
154
一 、属性
属性是特定类、结构或枚举的相关值,属性根据作用域不同分为实例属性与类型属性,还可以根据是否存储分为存储属性和计算属性。
1.1 实例属性
为一个类、结构或枚举定义的属性默认属于实例属性,即该属性属于为该类型创建的不同实例,不同实例具有属性的不同拷贝。每次当你创建了一个特定类型的新的实例,它总有一组自己的属性。即每个实例带自己的一组属性。...
分类:
移动开发 时间:
2014-06-22 15:10:26
阅读次数:
245
扩展就是向一个已有的类、结构体或枚举类型添加新功能(functionality)。扩展和 Objective-C 中的分类(categories)类似。(不过与Objective-C不同的是,Swift 的扩展没有名字。)
Swift 中的扩展可以:
1.添加计算型属性和计算静态属性
2.定义实例方法和类型方法
3.提供新的构造器
4.定义下标
5.定义和使用新的嵌套类型
6.使一个...
分类:
其他好文 时间:
2014-06-22 14:50:00
阅读次数:
211
回顾第一次基础加强1. 反射 有一个字符串,它是一个类名称,我们可以使用反射来创建这个类的对象! 有一个字符串,它是一个方法名称,我们可以使用反射来调用这个方法!2. 枚举 枚举是一种多例模式!你学过单例就可以理解多例!一个类有固定的实例个数! 1) 枚举的格式 关键字不是:class、i...
分类:
编程语言 时间:
2014-06-22 13:24:39
阅读次数:
214
Codeforces Round #253 (Div. 1)
题目链接
A:给定一些牌,然后现在要提示一些牌的信息,要求提示最少,使得所有牌可以被分辨出来。
思路:一共2^10种情况,直接暴力枚举,然后对于每种情况去判断,判断的时候只要两两张牌枚举出来判断即可。不得不说CF机子真心强大,2秒限制还是能跑10^8
B:给定n个发生概率,求选出其中一些事件,使得正好有一件发生的概率...
分类:
其他好文 时间:
2014-06-22 06:04:54
阅读次数:
263
实例的初始化是准备一个类、结构或枚举的实例以便使用的过程。初始化包括设置该实例的每一个存储 属性为一个初始值,以及执行任何其它新的实例能够使用之前需要的设置或初始化。
一个类、结构或枚举能定义一个初始化方法来设置它的特性,用来确保它的实例的所有属性都有有效的初始值。
通过调用类、结构或枚举提供的初始化方法来执行实例的初始化过程。
类的实例也能实...
分类:
移动开发 时间:
2014-06-21 22:04:27
阅读次数:
348