[iOS] performSelectorOnMainThread支持多个参数
2014-04-01 10:11
471 查看
iOS 的 NSObject对象提供了一种在不同线程中执行其方法的机制。
最常见的是需要在主线程即UI线程中去执行一些方法
但是这个默认的方法只支持一个参数。
这个不是在主程线中运行的…只能依靠category来实现
最常见的是需要在主线程即UI线程中去执行一些方法
performSelectOnMainThread:withObject:waitUntilDone:
但是这个默认的方法只支持一个参数。
performSelector:withObject:withObject:
这个不是在主程线中运行的…只能依靠category来实现
@interface NSObject (PGPerformSelectorOnMainThreadWithTwoObjects) - (void) performSelectorOnMainThread:(SEL)selector withObject:(id)arg1 withObject:(id)arg2 waitUntilDone:(BOOL)wait; @end
@implementation NSObject (PGPerformSelectorOnMainThreadWithTwoObjects) - (void) performSelectorOnMainThread:(SEL)selector withObject:(id)arg1 withObject:(id)arg2 waitUntilDone:(BOOL)wait { NSMethodSignature *sig = [self methodSignatureForSelector:selector]; if (!sig) return; NSInvocation* invo = [NSInvocation invocationWithMethodSignature:sig]; [invo setTarget:self]; [invo setSelector:selector]; [invo setArgument:&arg1 atIndex:2]; [invo setArgument:&arg2 atIndex:3]; [invo retainArguments]; [invo performSelectorOnMainThread:@selector(invoke) withObject:nil waitUntilDone:wait]; } @end
相关文章推荐
- cacti和nagios整合
- 常见文件操作 - iOS开发
- 那些年一起用过的iOS开发利器[4月2号更新]
- IOS后台运行
- ios开发图片格式的选择:png和jpg
- 【IOS开发】创建XML文件
- iOS开发中一些常见的并行处理
- ios何时使用self.
- 沙盒(二)
- ios何时使用self.
- iOS 开发问题集锦
- iOS 开发问题集锦
- IOS常见的错误大全
- IOS内存管理
- 提升移动应用的“心理响应速度”
- 现有IOS设备唯一标示符的方案比较
- ios-Frame和bounds的区别
- 学习iOS开发的第19天
- NSNotification 通知传值
- Codeforces Round #141 (Div. 2)