微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

performSelectorOnMainThread的一个简单易用的Category

  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 Wight CInvocationGrabber的分支),也是框架的一部分.

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

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

 

原文链接

http://boredzo.org/blog/archives/2010-02-13/easy-main-thread-performing-category

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐