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

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
分享到:
评论

相关推荐

    OC-performSelector

    在Objective-C(简称OC)中,`performSelector`方法是基于消息传递机制的关键特性之一,它允许我们在运行时动态地调用对象的方法。这个特性使得OC具有高度的灵活性和动态性,是许多设计模式和编程实践的基础。接下来...

    ios demo,performSelector和respondsToSelector

    可能包括动态生成的方法,使用`performSelector`调用这些方法,以及利用`respondsToSelector`来确保安全。同时,项目可能还会演示如何使用Category来扩展既有类的功能,以及如何使用`NSInvocation`处理多参数的调用...

    objective c 消息 objc_msgSend

    本文将深入探讨`objc_msgSend`以及与其相关的`performSelector`方法,并通过实例来阐述它们的工作原理和用法。 **1. objc_msgSend函数** `objc_msgSend`是Objective-C运行时系统的核心,它是动态方法解析的关键。...

    TestForCancelPrePerformReq.zip

    在iOS开发中,有时我们需要延迟执行某个操作,这时可以使用`performSelector`方法来实现。然而,如果在延迟执行之前需要取消这个操作,就需要用到`cancelPreviousPerformRequestsWithTarget`方法。本文将深入探讨这...

    iOS中NSInvocation的基本用法教程

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

    DelayTest.zip

    本压缩包"DelayTest.zip"中包含的示例代码着重展示了四种实现延时执行的方法:定时器(Timer)、GCD(Grand Central Dispatch)、NSThread以及performSelector。下面将详细介绍这四种方法及其应用场景。 1. **...

    iOS延迟执行方法详解

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

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

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

    IOS多线程之GCD(3) - iOS知识库1

    本文主要探讨在iOS中使用GCD进行延迟执行的方法。 首先,iOS提供了两种常见的延时执行方式: 1. 调用`performSelector:withObject:afterDelay:`方法。这是一个非常简单的延迟执行方法,它的特点是无论在哪里调用,...

    ios-简单选择器.zip

    - 在使用`performSelector:`系列方法时,要确保接收者能够响应指定的选择器,否则可能会导致运行时错误。可以使用`respondsToSelector:`方法进行检查。 - 在iOS开发中,避免使用未定义的选择器,这可能导致崩溃...

    OC-performSelectorInBackground

    `performSelector:`系列方法就是这种机制的体现,它们允许我们延迟执行某个方法,直到运行时才决定具体调用哪个方法。 ### 2. `performSelectorInBackground:`详解 此方法的基本语法如下: ```objc - (void)...

    仿 iphone 界面删除应用图标抖动

    本文将详细讲解如何通过编程实现这一过程,主要涉及`NSTimer`和`performSelector`两种方法。 首先,我们需要创建一个自定义的UICollectionViewCell,用于表示应用图标。在这个自定义cell中,我们将包含一个...

    ios-自定义选择器.zip

    有时我们希望在未来的某个时刻执行某个操作,这时可以使用`performSelector:withObject:afterDelay:`方法。这个方法接受一个选择器、一个参数(如果有的话)和一个延迟时间,然后在指定的时间后执行对应的方法。 4...

    关于iOS多线程,你看我就够了 - 简书1

    本文将探讨iOS中的四种主要多线程方案:Pthreads、NSThread、GCD(Grand Central Dispatch)以及NSOperation和NSOperationQueue,并提供它们的使用方法、案例以及相关的同步和延迟执行等知识点。 首先,Pthreads是...

    ios反射机制

    在这里,我们使用`NSSelectorFromString()`将方法名转换为`SEL`(选择器),然后通过`performSelector:withObject:`来执行这个方法。 三、反射访问和序列化对象属性 反射机制还可以用于遍历并访问对象的所有属性,...

    iOS 延迟加载

    `performSelector:` 是Objective-C中的一个方法,允许我们延迟执行某个方法。例如,如果想要延迟3秒后加载某个视图,可以这样做: ```objc [self performSelector:@selector(loadView) withObject:nil afterDelay:...

    Swift实现倒计时5秒功能

    这种方法通过调用`sleep(1)`来模拟每秒过去,然后使用`performSelector`更新界面。首先,我们创建一个按钮`jumpBut`并在`viewDidLoad`中设置初始状态。然后定义一个变量`limitTime`表示总秒数,这里设置为6(包括...

    对比分析iOS延迟执行的4种方式

    本文将对比分析四种常见的iOS延迟执行方法:`performSelector:`、`NSTimer`、`sleep:`以及`GCD`,并探讨它们的特点和适用场景。 1. `performSelector:` 方法: 这是一种简单且易于使用的延迟执行方式。通过调用`...

Global site tag (gtag.js) - Google Analytics