gpt4 book ai didi

objective-c - Objective-C 中 Swift 的 canImport 类比

转载 作者:行者123 更新时间:2023-12-01 22:55:54 24 4
gpt4 key购买 nike

Swift 4.2 有一个特殊条件 canImport这有助于开发人员检查是否可以在项目中导入模块。它是在 Swift 4.1 中引入的。

现在我正在开发用 Objective-C 编写的 iOS 项目。我使用模块,对于每个目标,这些模块都是不同的。这就是为什么我想使用类似的东西:

#if canImport(SomeModule)
@import SomeModule;
#endif

我怎么解决这个问题?现在我为每个目标使用不同的“其他 C 标志”,但我想找到更灵活的解决方案。

最佳答案

作为答案,这有点晚了,但我在处理类似案例时遇到了这个问题。
我用了__has_include(<SomeModule/SomeModule.h>)导入你的框架:

#if __has_include(<SomeModule/SomeModule.h>)
#import <SomeModule/SomeModule.h>
#define __HAS_SOME_MODULE_FRAMEWORK__
#endif
稍后在您的代码中:
- (void)doSomething {
#ifdef __HAS_SOME_MODULE_FRAMEWORK__
// with SomeModule framework
#else
// without SomeModule framework
#endif
}

关于objective-c - Objective-C 中 Swift 的 canImport 类比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52605302/

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