gpt4 book ai didi

ios - 在 Objective-C 中使用 #define 并在 swift 类中访问

转载 作者:搜寻专家 更新时间:2023-10-31 22:01:12 25 4
gpt4 key购买 nike

我在 objective-c 类中定义了 #define baseUrl [NSString stringWithFormat:@"%@api/v4", MAINURL] 并且可以在项目的任何地方访问。但是现在我已经在退出 objective c 项目中创建了 swift 文件,并且想在 swift 中访问 baseurl 但收到错误。

Use of unresolved identifier 'baseUrl'

如何解决?

最佳答案

将 Objective-C 宏导入 Swift 并不总是有效。根据documentation :

Swift automatically imports simple, constant-like macros, declared with the #define directive, as global constants. Macros are imported when they use literals for string, floating-point, or integer values, or use operators like +, -, >, and == between literals or previously defined macros.

C macros that are more complex than simple constant definitions have no counterpart in Swift.

在您的情况下,另一种方法是使用返回由宏定义的值的函数

// .h file
#define baseUrl [NSString stringWithFormat:@"%@api/v4", MAINURL]
+ (NSString*) BaseUrl;

// .m file
+ (NSString*) BaseUrl { return baseUrl }

关于ios - 在 Objective-C 中使用 #define 并在 swift 类中访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51170953/

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