10 2012 档案
摘要:更多阅读请访问:http://www.hopean.comiOS4已经直接支持blocks,很有必要学习一下。在ios,blocks是对象,它封装了一段代码,这段代码可以在任何时候执行。Blocks可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。它和传统的函数指针很类似,但是有区别:blocks是inline的,并且它对局部变量是只读的。Blocks的定义: int (^myBlock) (int a,int b) = ^(int a,int b){ return a+b; }; 定义了一个名为myBlock的blocks对象,它带有两个i...
阅读全文
摘要:更多阅读请访问http://www.hopean.com自从引进了iOS5,iPhone,iPad,iPodTouch编程改变了很多。整个runtime和objective-c的编码方式发生了戏剧性的改变。ARC(Automatic Reference Counting - 自动引用计数)技术现在引入到LLVM编译器(LLVM Compiler)中,在某些方面,使程序更加灵活,另一方面使runtime更加脆弱。 在这章中,我们将谈论,在objective-c runtime ARC下,如何使用对象,以及怎么管理它们。从手工引用计数到自动引用计数(ARC) Problem 学习Aut...
阅读全文
摘要:OS5中加入了新知识,就是ARC,其实我并不是很喜欢它,因为习惯了自己管理内存。但是学习还是很有必要的。在iOS开发过程中,属性的定义往往与retain, assign, copy有关,我想大家都很熟悉了,在此我也不介绍,网上有很多相关文章。现在我们看看iOS5中新的关键字strong, weak, unsafe_unretained. 可以与以前的关键字对应学习strong与retain类似,weak与unsafe_unretained功能差不多(有点区别,等下会介绍,这两个新关键字与assign类似)。在iOS5中用这些新的关键字,就可以不用手动管理内存了,从java等其它语言转过来的程序
阅读全文
摘要:指针变量和实际对象Immutable strings// Setup two variables to point to the same stringNSString*str1=@"HelloWorld";NSString*str2=str1;// "Replace" the second stringstr2=@"Helloikilimnik";// And list their current valuesNSLog(@"str1=%@,str2=%@",str1,str2);output:str1 = He
阅读全文
摘要:Objective-C block详解Apple 在C, Objective-C, C++加上Block这个延申用法。目前只有Mac 10.6 和iOS 4有支援。Block是由一堆可执行的程式组成,也可以称做没有名字的Function (Anonymous function)。如果是Mac 10.6 或 iOS 4.0 之前的平台可以利用 http://code.google.com/p/plblocks/ 这个project得以支援Block语法。
Apple有一个叫做GCD(Grand Central Dispach)的新功能,用在同步处理(concurrency)的环境下有更好的效率。
阅读全文
摘要:今天测试了ios arc __strong与__weak的一个小实例,发现输出结果让人深思- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; strongStr = @"string"; weakStr = strongStr; strongStr = nil; NSLog(@"strongStr:%@",strongStr); NSLog(@"weakStr:%@",weakStr);}输出结果2012-10-29 11:32:31.713
阅读全文
浙公网安备 33010602011771号