定时?- 可可

lab*_*b12 0 cocoa timer objective-c

我怎么能用定时器?例如,我想显示某个文本10秒,然后我想在剩余的持续时间内显示不同的文本.

谢谢,

凯文

Pet*_*wis 5

推迟动作的最简单方法是使用NSObject的performSelector:withObject:afterDelay:

- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay
Run Code Online (Sandbox Code Playgroud)

第一次(或在初始时)设置文本,然后执行以下操作:

[self performSelector:@selector(changeText) withObject:nil afterDelay:10.0];
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式取消请求:

+ (void)cancelPreviousPerformRequestsWithTarget:(id)aTarget selector:(SEL)aSelector object:(id)anArgument
Run Code Online (Sandbox Code Playgroud)

如果希望取消分配对象,则需要执行此操作,因为performSelector会保留对象和withObject参数.