gpt4 book ai didi

ios - 如何防止将扩展导出到 Objective-C 的 Swift header ?

转载 作者:搜寻专家 更新时间:2023-10-31 08:09:06 30 4
gpt4 key购买 nike

我用 Swift 做了这个简单的扩展:

extension DispatchQueue {
func asyncAfter(delay: TimeInterval, block: @escaping ()->()) {
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + Double(Int64(delay * Double(NSEC_PER_SEC))) / Double(NSEC_PER_SEC), execute: block)
}
}

在 Project-Swift.h header 中,它在这一行报告错误:

@interface OS_dispatch_queue (SWIFT_EXTENSION(...))
- (void)asyncAfterDelay:(NSTimeInterval)delay block:(void (^ _Nonnull)(void))block;
@end

Error is: Cannot find interface declaration for 'OS_dispatch_queue'

有没有办法阻止为 Objective-C 导出扩展?或者有什么办法可以解决这个错误吗?

最佳答案

我知道这不是一个答案,但我在使用公共(public)扩展 DispatchQueue 时遇到了同样的问题: dispatch_once after the Swift 3 GCD API changes

所以在我的案例中,使用 Vlad 的解决方案帮助我避免了这个经常出现的问题: https://stackoverflow.com/a/41570198/1672521

关于ios - 如何防止将扩展导出到 Objective-C 的 Swift header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41951197/

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