gpt4 book ai didi

ios - 使用延迟参数在 objective-c 中创建方法

转载 作者:行者123 更新时间:2023-11-28 18:58:29 25 4
gpt4 key购买 nike

我正在尝试在 objective-c 中创建一个带有参数的方法,该参数是实际方法开始前的秒数。

我试图避免使用 [self performSelector:(SEL) withObject:(id) afterDelay:(NSTimeInterval)]; 因为在我的方法中有延迟实际上会节省我很多编码,因为我计划向此方法添加其他参数。

方法示例:

-(void) startMethodAfterArgumentDelay: (NSTimeInterval *)delay{
NSLog(@"perform action after argument delay");
}

以及如何调用它:

[self startMethodAfterArgumentDelay:3.0f];

如有任何帮助,我们将不胜感激!

最佳答案

如果您不想像其他答案建议的那样使用任何第 3 方库,这很容易使用 GCD 的 dispatch_after() 自己实现。 .请注意,此方法是异步的,因此即使 block 的内容被延迟,您的方法也会立即返回。

- (void)startMethodAfterArgumentDelay:(NSTimeInterval)delay
{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delay * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NSLog(@"perform action after argument delay");
});
}

关于ios - 使用延迟参数在 objective-c 中创建方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29052039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com