linyawen

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年7月4日

摘要: 隔上一次写iPad app开发文章已经是10个月,那篇iPad app开发概述还不错,曾经成为了google关键字“iPad app 开发”搜索的第一位,可能是大牛们都太忙于赚app store的钱了,留下我这个小虾来写文章。这次的文章集中与iOS的多核编程和内存管理,为什么?因为iPad 2已经是双核CPU了!虽然iPad 1的应用已经不慢了,但大家完全可以使用苹果的多核编程框架来写出更加responsive的应用。多核运算在iOS中concurrency编程的框架就是GCD(Grand Central Dispatch), GCD的使用非常简单。它把任务分派到不同的queue队列来处理。开 阅读全文
posted @ 2012-07-04 14:56 linyawen 阅读(442) 评论(0) 推荐(0) 编辑

摘要: NSLog( @"main thread begin..." ); [self performSelectorInBackground: @selector(getImages) withObject: nil]; NSLog( @"main thread end..." ); - (void)getImages{ NSLog( @"one thread begin..." ); NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSString... 阅读全文
posted @ 2012-07-04 14:37 linyawen 阅读(1666) 评论(0) 推荐(0) 编辑

摘要: [selfperformSelectorOnMainThread:@selector(fetchedData:)withObject:datawaitUntilDone:YES];会创建一个新的线程实行fetchedData函数,并传入参数data,并且会等待函数退出后再继续执行。- (void)fetchedData:(NSData*)responseData {。。。}在多线程操作中,有一个著名的错误,叫做“Tried to obtain the web lock from a thread other than the main thread or the web thread. Thi 阅读全文
posted @ 2012-07-04 14:20 linyawen 阅读(612) 评论(0) 推荐(0) 编辑

摘要: 举例说明怎么简单的创建一个子线程。用到的类是NSThread类,这里使用detachNewTheadSelector:toTagaet:withObject创建一个线程。函数setupThread:(NSArray*)userInfor。通过userInfor将需要的数据传到线程中。函数定义:-(void)setupThread:(NSArray*)userInfor{ [NSThreaddetachNewThreadSelector:@selector(threadFunc:) toTarget:self withObject:(id)userInfor]; //这个函数就和pthread_ 阅读全文
posted @ 2012-07-04 14:13 linyawen 阅读(286) 评论(0) 推荐(0) 编辑

摘要: 摘要: Objective-C中调用函数的方法是消息传递,这个和普通的函数调用的区别是,你可以随时对一个对象传递任何消息,而不需要在编译的时候声明这些方法。所以Objective-C可以在runtime的时候传递人和消息。首先介绍两个方法。Objective-C中调用函数的方法是“消息传递”,这个和普通的函数调用的区别是,你可以随时对一个对象传递任何消息,而不需要在编译的时候声明这些方法。所以Objective-C可以在runtime的时候传递人和消息。首先介绍两个方法 SEL和@selector根据AppleObjective-C Runtime Reference官方文档这个传递消息的函数 阅读全文
posted @ 2012-07-04 14:02 linyawen 阅读(259) 评论(0) 推荐(0) 编辑