使用 [ self performSelector: @selector (sel:) withObject: @"active" afterDelay: 3 ];执行一个延时消息。
当要取消的时候,可以使用:
[[self class] cancelPreviousPerformRequestsWithTarget: self ];
Demo:
#import "MyObject.h"
@implementation
MyObject
- (
IBAction
)myAction:(
id
)sender
{
[myOutlet setTitle:
@"wait 3 second"
];
[
self
performSelector:
@selector
(sel:) withObject:
@"active"
afterDelay:
3
];
}
- (
void
)sel:(NSString *)msg
{
[myOutlet setTitle:msg];
}
- (
IBAction
)stop:(
id
)sender
{
[MyObject cancelPreviousPerformRequestsWithTarget:
self
];
NSLog(
@"stop"
);
}
@end
本文介绍如何在Objective-C中使用performSelector实现延时任务,并提供了取消延时任务的方法。通过示例代码展示了如何设置一个三秒后的回调任务以及如何在触发前取消该任务。
4897

被折叠的 条评论
为什么被折叠?



