构造过程是为了使用某个类、结构体或枚举类型的实例而进行的准备过程,在构造过程中,对每个属性进行了初始值预设和其他必要的准备和初始化工作。
与OC相比,swift的构造函数,不需要返回值。同时,在类和结构体的构造过程中,必须对所有的存储类型属性,包含继承自父类的属性,赋予合适的初始值。存储类型值不能处于一个未知状态。
在对属性进行初始化过程中,有两种方法,第一:使用构造方法,第二:在定义属性时,...
分类:
其他好文 时间:
2014-06-22 22:48:43
阅读次数:
340
一。通过闭包和函数实现属性的默认值
当某个存储属性的默认值需要定制时,可以通过闭包或全局函数来为其提供定制的默认值。
注:全局函数结构体和枚举使用关键字static标注 函数则使用class关键字标注
当对一个属性使用闭包函数进行赋值时,每当此属性所述的类型被创建实例时,对应的闭包或函数会被调用,而他们的返回值会被作为属性的默认值。
ESC:Class SomeCLass{
let ...
分类:
其他好文 时间:
2014-06-22 22:28:17
阅读次数:
250
接上一篇文章,当Nginx以文件作为用户的请求时,它不会把文件内容读入内存,然后再从内存发送出去,而是会调用sendfile系统调用在不经过用户空间的情况下,从内核直接发送出去。这样做显然效率要更高,Nginx也为我们封装好了一系列的接口,下面就来说明如何发送一个磁盘文件给客户端。
和从内存直接发送数据最大的不同在于ngx_buf_t缓冲区的设置方法,ngx_buf_t结构体的定义如下:...
分类:
其他好文 时间:
2014-06-22 20:44:52
阅读次数:
211
扩展
扩展可以让我们给一个已有的类、结构体、枚举等类型添加新功能,包括属性和方法,甚至是构造器,下标,支持协议等等。。。
甚至是我们拿不到源代码的类、结构体、枚举,我们依然可以给它加扩展。。。
看到这里的时候,我还有点小激动呢。。。可是淡定下来之后,觉得这TMD就是个大大的飞线,飞线,飞线。。。这让我们的代码难以理解全面(总要担心是不是哪里还有扩展,我没读到的。。谁会不会在哪...
分类:
其他好文 时间:
2014-06-22 18:45:04
阅读次数:
154
作为一个web服务器,那么肯定是有监听套接字的,这个监听套接字是用于接收HTTP请求的,这个监听套接字的创建是根据配置文件的内容来创建的,在nginx.conf文件中有多少个地址就需要创建多少个监听套接字。这里不说各个结构体的构造 只说大体情况!
1)、首先在main函数中调用了ngx_init_cycle()函数,在这个函数的最后调用了ngx_open_listening_sockets函...
分类:
其他好文 时间:
2014-06-22 16:45:32
阅读次数:
139
扩展就是向一个已有的类、结构体或枚举类型添加新功能(functionality)。扩展和 Objective-C 中的分类(categories)类似。(不过与Objective-C不同的是,Swift 的扩展没有名字。)
Swift 中的扩展可以:
1.添加计算型属性和计算静态属性
2.定义实例方法和类型方法
3.提供新的构造器
4.定义下标
5.定义和使用新的嵌套类型
6.使一个...
分类:
其他好文 时间:
2014-06-22 14:50:00
阅读次数:
211
typedef struct student{
int num; //成员
int age;
char name[10];
}s_stu,*p_stu;...
分类:
其他好文 时间:
2014-06-22 14:01:44
阅读次数:
232
这个函数做了连部分工作:1)以端口为入口点 将有用的信息存放到hash表内 2)调用ngx_http_init_listening()函数 对端口进行监听
1、 在ngx_http_core_main_conf_t结构体中有一个字段为ports,是一个数组,数组内存放的全是ngx_http_conf_port_t;对于每一个端口信息(ngx_http_conf_port_t),调用
ngx_h...
分类:
其他好文 时间:
2014-06-21 21:16:25
阅读次数:
267
Protocol(协议)用于统一方法和属性的名称,而不实现任何功能。协议能够被类,枚举,结构体实现,满足协议要求的类,枚举,结构体被称为协议的遵循者。
遵循者需要提供协议指定的成员,如属性,方法,操作符,下标等。
一、协议的基本语法
咱们还是先上代码吧
protocol Human {
var name:String{ get set }
var isMan:...
分类:
其他好文 时间:
2014-06-21 18:39:12
阅读次数:
199