摘要:
1. ARC并不是自动管理内存,与AutoreleasePool不同,ARC是LLVM 3.0编译器提供的特性,编译器自动在适当的地方插入retain、release、autorelease,所以还是手动管理内存,对象不会像AutoreleasePool一样在内存中存放很久。2. ARC只能工作于Objective-C对象,如果应用使用了Core Foundation或malloc()/free(),此时需要你来管理内存。3. 虽然ARC管理retain和release,但并不表示不需要处理内存问题,strong指针会保持对象的生命,所以有时候为了回收内存,自己要将其设为nil,以便释放内存, 阅读全文
摘要:
1. 创建block变量的并使用:1 typedef int (^BLK)(int); // 定义block类型2 3 - (void)doSomething4 {5 BLK foo = ^(int a){ return a*a; }; // 创建block变量6 printf("%d", foo(4)); // 直接调用block7 }2. 不创建block变量,直接创建内联block,比如调用一个对数组进行排序的函数:1 - (void)doSomething2 {3 NSArray *array = nil;4 [array sortedArrayUsin... 阅读全文
摘要:
invocation operation1. 添加到队列前,无依赖:readynot executingnot finishednot cancellednot concurrent2. 添加到队列前,有依赖:not readynot executingnot finishednot cancellednot concurrent3. 添加到队列,并且有一个依赖,在依赖执行完以前:not readynot executingnot finishednot cancellednot concurrent4. 添加到队列,并且有一个依赖,在依赖执行完以前,取消掉:readynot executin 阅读全文
摘要:
1.Frist, make sure you have ppp installedyum install -y ppp iptablesyum install perl2.Download lastest version pptpd rpm packagewget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm3.Installing the rpmrpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm4.Open the file /etc/ppp/options.pptpdvi 阅读全文
摘要:
1. 定义为virtual的函数是基类期待派生类重新定义的,基类希望派生类继承的函数不能定义为虚函数。2. 保留字virtual的目的是启用动态绑定。成员默认为非虚函数,对非虚函数的调用是在编译时确定。除了构造函数和静态函数外都可以是虚函数。 阅读全文
摘要:
1. 常成员函数的const必须出现在声明和定义中。2. 类的成员函数只能重载本类的其它成员函数,成员函数与类外的非成员函数、其它类的成员函数无关。3. 类内部定义的成员函数,自动作为inline处理。4. 在成员函数的声明和定义处指定inline都是合法的,任选一个位置都行。但是由于inline函数必须在调用它的每个源文件中可见,所以不在类定义中定义的inline函数,其定义通常应放在类定义的同一头文件中。5. 类的声明是一个不完全类型,不知道类的具体细节,所以不能定义该类的对象,只能定义指针、引用,用于声明形参、返回类型。所以类中不能定义该类的对象作为数据成员,只能是指针或引用。6. 在成 阅读全文