gpt4 book ai didi

ios - 使用 #define 常量放入在 swift 项目中桥接的 Objective C .h 文件中

转载 作者:可可西里 更新时间:2023-11-01 00:23:05 29 4
gpt4 key购买 nike

我正在做一个快速的项目,我已经制作了 MyProjectName-Bridging-header.h在此桥中,我添加了一个 .h 文件,其中包含由

创建的多个常量
#define constantName VALUE

我需要知道如何在我的 swift 文件中使用这些常量?

最佳答案

不要用宏定义常量

使用宏代替全局常量或函数是 code smell 的明确标志– 它们不是类型安全的并且会使调试成为一场噩梦。值得庆幸的是,Swift 取消了 C 预处理器,因此您不能再将它们用于 Swift 代码!

您应该改为使用全局 C 常量在 Objective-C header 中定义常量。

static NSString* const aConstString = @"foobar";
static NSInteger const aConstInteger = 42;

或者,如果您想将值保留在 header 之外:

extern NSString* const aConstString;
extern NSInteger const aConstInteger;

NSString* const aConstString = @"foobar";
NSInteger const aConstInteger = 42;

然后这些将被桥接到自动生成的 Swift header 中的 Swift 全局常量,如下所示:

public let aConstString: String
public let aConstInteger: Int

您现在可以通过 Swift 代码访问它们。

关于ios - 使用 #define 常量放入在 swift 项目中桥接的 Objective C .h 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35454060/

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