摘要: iOS4已经直接支持blocks,很有必要学习一下。在ios中,将blocks当成对象来处理,它封装了一段代码,这段代码可以在任何时候执行。Blocks可以作为函数参数或者函数的返回值,而其 本身又可以带输入参数或返回值。它和传统的函数指针很类似,但是有区别:blocks是inline的,并且它对局部变量是只读的。Blocks的定义:[cpp] view plaincopyint(^myBlock)(inta,intb)=^(inta,intb){returna+b;};定义了一个名为myBlock的blocks对象,它带有两个int参数,返回int。等式右边就是blocks的具体实现,是不是 阅读全文
posted @ 2013-11-21 16:01 如来藏 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 多线程开发是一件需要特别精心的事情,即使是对有多年开发经验的工程师来说。为了能让初级开发工程师也能使用多线程,同时还要简化复杂性。各种编程工具提供了各自的办法。对于iOS来说,建议在尽可能的情况下避免直接操作线程,使用比如NSOperationQueue这样的机制。可以把NSOperationQueue看作一个线程池,可往线程池中添加操作(NSOperation)到队列中。线程池中的线程可看作消费者,从队列中取走操作,并执行它。你可以设置线程池中只有一个线程,这样,各个操作就可以认为是近似的顺序执行了。为什么说是近似呢,后面会做解释。编写最简单的示例先写个最简单的示例。编写一个NSOperat 阅读全文
posted @ 2013-11-21 15:12 如来藏 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 例子一:-(void)setUpStreamForFile:(NSString*)path{//iStreamisNSInputStreaminstancevariableiStream=[[NSInputStreamalloc]initWithFileAtPath:path];[iStreamsetDelegate:self];[iStreamscheduleInRunLoop:[NSRunLoopcurrentRunLoop]forMode:NSDefaultRunLoopMode];[iStreamopen];} 上面的例子显示,当你创建对象之后你应该设置其delegate。当把NSIn 阅读全文
posted @ 2013-11-21 14:57 如来藏 阅读(2560) 评论(0) 推荐(0) 编辑
摘要: 近来想了解iPhone的多线程处理,查阅到了官方范例LazyTableImages,发现代码中有不仅有多线程处理,还有XML解析和异步下载图片,感觉官方例子真是全面啊,便花了时间好好研究下。LazyTableImages地址:http://developer.apple.com/library/ios/#samplecode/LazyTableImages/Introduction/Intro.html一、程序的运行效果二、程序的思路多线程的好处即提高程序执行效率,防止界面阻塞。1、进入程序后,建立给定网址(RSS feed)的连接,程序会自动下载对应的RSS feed数据,如果网络连接无误, 阅读全文
posted @ 2013-11-21 14:35 如来藏 阅读(186) 评论(0) 推荐(0) 编辑
摘要: nil用来给对象赋值(Objective-C中的任何对象都属于id类型),NULL则给任何指针赋值,NULL和nil不能互换,nil用于类指针赋 值(在Objective-C中类是一个对象,是类的meta-class的实例), 而NSNull则用于集合操作,虽然它们表示的都是空值,但使用的场合完全不同。示例如下:idobject=nil;//判断对象不为空if(object){}//判断对象为空if(object==nil){}//数组初始化,空值结束NSArray*array=[[NSArrayalloc]initWithObjects:@"First",@"S 阅读全文
posted @ 2013-11-21 14:29 如来藏 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 我是走向ios的一个小书童,我有很多不懂的,新鲜的知识去学习,去掌握!我首先要吐槽一下:那些不负责的博友!你分享知识本来是好事!可是你直接Control+V就是你的不对了!尼玛,直接Control+V个错误的代码,这真是“雪中送屎”啊!坑爹啊!真心的希望,大家分享的代码能够质量高一些,再高一些!废话不多说了。最近,工作中用到了NSURLConnection进行请求网络数据。只有先把自己搞出来的,分享给大家!也希望大家能给一些建议!一、同步请求-GET方式// 要请求的地址 NSString *urlString=@"地址,我就只有保密了!你懂的";// 将地址编码 urlS 阅读全文
posted @ 2013-11-21 11:37 如来藏 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 一、HjCache原文:http://www.markj.net/hjcache-iphone-image-cache/获取HJCache:HJCacheisupongithubhere:https://github.com/markofjohnson/HJCacheHjCache是iOS上的一个开源的库,用于异步加载网络图片并在滚动中的tables中显示,同时还支持将图片缓存在本地。HjCache有如下的特性:1、本地缓存让程序在下次使用时,能够快速地显示。2、可以自定缓存的大小。3、缓存中的图片在app中的任意地方都可以使用。4、当下载被中断时,未完成的图片的缓存并不会被打乱。5、当界面在 阅读全文
posted @ 2013-11-21 10:34 如来藏 阅读(248) 评论(0) 推荐(0) 编辑