`
lichangjielong
  • 浏览: 21152 次
社区版块
存档分类
最新评论

performSelector用法

阅读更多
Delayed perform

@interface NSObject (NSDelayedPerforming)

- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay inModes:(NSArray *)modes;
- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay;
+ (void)cancelPreviousPerformRequestsWithTarget:(id)aTarget selector:(SEL)aSelector object:(id)anArgument;
+ (void)cancelPreviousPerformRequestsWithTarget:(id)aTarget;

@end

@interface NSRunLoop (NSOrderedPerform)

- (void)performSelector:(SEL)aSelector target:(id)target argument:(id)arg order:(NSUInteger)order modes:(NSArray *)modes;
- (void)cancelPerformSelector:(SEL)aSelector target:(id)target argument:(id)arg;
- (void)cancelPerformSelectorsWithTarget:(id)target;

@end


@interface NSObject (NSThreadPerformAdditions)

- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait modes:(NSArray *)array;
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait;
// equivalent to the first method with kCFRunLoopCommonModes

- (void)performSelector:(SEL)aSelector onThread:(NSThread *)thr withObject:(id)arg waitUntilDone:(BOOL)wait modes:(NSArray *)array NS_AVAILABLE(10_5, 2_0);
- (void)performSelector:(SEL)aSelector onThread:(NSThread *)thr withObject:(id)arg waitUntilDone:(BOOL)wait NS_AVAILABLE(10_5, 2_0);
// equivalent to the first method with kCFRunLoopCommonModes
- (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg NS_AVAILABLE(10_5, 2_0);

@end
分享到:
评论

相关推荐

    iOS中NSInvocation的基本用法教程

    但是对于>2个的参数或者有返回值的处理,那performSelector:withObject就显得有点有心无力了,那么在这种情况下,我们就可以使用NSInvocation来进行这些相对复杂的操作 NSInvocation的基本使用 方法签名类 // 方法...

    iOS延迟执行方法详解

    近日学习了延迟执行的几种方法,分享一下。 1.performSelector(NSObject)方法  ...特点:这个方法必须要在主线程中使用.可以传递参数.可以取消操作,不能暂停. //不带参数 [self performSelector:@selector(delayDo:

    IOS多线程编程NSThread的使用方法

    IOS多线程编程NSThread的使用方法 NSThread是多线程的一种,有两种方法创建子线程 (1)优点:NSThread 比GCD、NSOperation都轻量级 (2)缺点:需要自己管理线程的生命周期,线程同步。线程同步对数据的加锁会有...

    iOS 延迟加载

    通过performSelector、NSTimer、sleep、GCD四种方法实现了延迟加载;可以根据自己情况选择使用那种延迟方法

    objective-c小技巧

    1. 使用@property和@synthesize声明一个成员变量,给其赋值是时要在前面加上"self.",以便调用成员变量的setmember方法。 直接调用成员变量并且给其赋值:member=[NSString stringWithFormat:@””];将不执行...

    mcfly:嘿,麦克弗利! 在测试执行期间控制时间的流逝和事件的安排

    McFly被实现为两类:一类在NSDate上覆盖其时间表示的规范机制,另一类在NSObject上覆盖performSelector…方法,以及一个实用程序类MFLTime用于控制时钟。 用法 只需在项目中包含MFLTime.[h|m]和MFLJRSwizzle.[h|m]...

    AAPullToRefresh:全方位拉动刷新库

    AAPullToRefresh 到处拉动刷新库。 要求 弧。 iOS 6或更高版本(在iOS 6、7和8上测试)。 安装 可可豆 将pod 'AAPullToRefresh'添加到Podfile。...将AAPullToRefresh目录复制到您的项目。... [v performSelector:@selec

    UIWindow-TouchIndicatorExtension:用于指示用户在屏幕上的触摸的 UIWindow 扩展

    用法将文件UIWindow+TouchIndicatorExtension.m添加到您的项目中,并在应用程序委托的 -applicationDidBecomeActive: 方法末尾调用以下代码以激活触摸指示器。 UIWindow *keyWindow = [[UIApplication ...

    LRVariadicPerformSelector:简单的NSObject类别,可使用可变参数执行选择器

    LRVariadicPerformSelector 因为有时候,我们需要使用两个以上的参数来执行选择器... 同样,这个简单的类别允许选择注入我们要在其上执行选择器的队列( ...用法[self lr_performSelector:@selector(because:sometimes:

    DurexKit安全工具包(iPhone源代码)

    原理: 使用Category,参数经过判断后才能执行方法,再将原生抛异常的方法替换,所以不需要修改任何已有的代码,仅import工具包的头文件,即可解决部分异常问题。 1、NSArray、NSDictionary、NSString、KVC等问题...

    杜蕾斯安全工具

    原理:使用Category,参数经过判断后才能执行方法,再将原生抛异常的方法替换,所以不需要修改任何已有的代码,仅import工具包的头文件,即可解决部分异常问题。 如果看源码可以发现NSArray的实现比较绕,这是因为...

    iOS中UIAlertView3秒后消失的两种实现方法

    主要介绍了iOS中UIAlertView3秒后消失的两种实现方法,实现方法涉及到NSTimer和PerformSelector:withObject:afterDelay:方法的结合使用,需要的朋友可以参考下

    EasyTimeline(iPhone源代码)

    一般来说,如果需要几秒钟之后触发某个函数,可以使用performSelector:withObject:afterDelay: 。如果需要每几秒钟执行一次某个函数,可以使用NSTimer。但是,如果需要同时进行两者,比如每2秒钟执行一个动作,然后...

    leetcode题库-iOS-Interview-Questions:收集整理iOS笔试面试题

    performSelector:withObject:方法的作用是什么? 解释一下多态 如何实现深拷贝 http和socket通信的区别,tcp和udp的区别,session和cookie的区别 block实现原理 响应链 frame 和 bounds 写一个宏MIN,这个宏输入两个...

    ios开发记录

    //判断字符串的内容是否相同应该使用nsstring的isEqualToString:方法 //在低版本的时候,如果直接点击注册按钮,没有点击具体的输入框,得到输入框中的内容为nil,如果点击输入框,但是没有输入任何内容,这个时候...

    ios开发小技巧

    用法:UIImage *yourImage= [self imageWithImageSimple:image scaledToSize:CGSizeMake(210.0, 210.0)]; //压缩图片 - (UIImage*)imageWithImageSimple:(UIImage*)image scaledToSize:(CGSize)newSize { // Create ...

Global site tag (gtag.js) - Google Analytics