Objective c 时间热可可

Objective c 时间热可可,objective-c,cocoa,timer,Objective C,Cocoa,Timer,我怎样才能使用计时器?例如,我想在10秒钟内显示某个文本,然后在剩余的时间内显示另一个文本 谢谢 Kevin从开始。延迟操作的最简单方法是使用NSObject的performSelector:withObject:afterDelay: - (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay 第一次(或在初始时间)设置文本,然后执行以下操作: [self

我怎样才能使用计时器?例如,我想在10秒钟内显示某个文本,然后在剩余的时间内显示另一个文本

谢谢


Kevin

从开始。

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

- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay
第一次(或在初始时间)设置文本,然后执行以下操作:

[self performSelector:@selector(changeText) withObject:nil afterDelay:10.0];
您可以通过以下方式取消请求:

+ (void)cancelPreviousPerformRequestsWithTarget:(id)aTarget selector:(SEL)aSelector object:(id)anArgument

如果要将对象作为performSelector解除分配,则需要执行此操作。performSelector保留您的对象和withObject参数。

文档中说performSelector:withObject:afterDelay:保留接收器和withObject。因此,在执行该选择器之前,您的对象不会被解除分配。但是,如果选择器没有正确执行,您不必取消分配?正确。本质上,系统保留接收器(在本例中为self)和withObject,等待大约10秒,然后调用该方法并释放接收器和withObject。结果是,接收方和withObject都不能在同一时间解除分配。