您的位置:首页 > 大数据 > 人工智能

performSelectorOnMainThread的一个简单易用的Category

2011-08-11 18:29 351 查看
  Easy main-thread performing category  
任何给主线程发送消息的人都知道代码可以写的这样丑。
[obj performSelectorOnMainThread:@selector(receiveAnswer:)
withObject:[NSNumber numberWithUnsignedInteger:42]
waitUntilDone:NO];

 

我写了一个category来将上面的代码变得更加简练

[[obj performOnMainThread_PRH] receiveAnswer:42];

 

要注意到,代码不但变得更容易读写,而且你在也不需要对原始值进行装箱和拆箱。

你可以在BSD协议下从 the higher-order main-thread perform repository 获取代码。

 

后来,当我最初在Twitter上提到的创造的category, Dave Dribin 回复 he had already written one of his own。(他已经写了一个自己的版本) 是他的DDFoundation 框架的一部分, 并且需要依赖 DDInvocationGrabber ( Jonathan WightCInvocationGrabber的分支), 也是框架的一部分.

我的categoty除了cocoa不依赖任何东西,也不是一个大框架的一部分。

就是说,读他的代码很有趣(his code ),看Invocation Grabber 的功能如何让他的没实现什么,只是对其简单的包装。 (还有, 他的版本允许你设置 waitUntilDone:YES.)

 

原文链接

http://boredzo.org/blog/archives/2010-02-13/easy-main-thread-performing-category
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: