在Swift中引用静态NSString const时出现链接器错误

时间:2015-02-25 05:09:31

标签: ios objective-c swift

我还在学习Swift,但我对基础知识及其与Objective-C的交互方式有很好的理解。在我的团队中,我们有一个Objective-C应用程序,我们正在应用程序中尝试一些Swift。我们过去的标准是将常量放在头文件中,如:

static NSString *const kSomeConstant = @"ConstantValue";

但是当我在Swift中引用这个值时,我收到一个链接器错误:

  

架构x86_64的未定义符号:
  “_kSomeConstant”,引自:         __TFFC22Commons_Tests36DCTestBTBusinessService25testSuccessfulFetchOffersFS0_FT_T_u0_KT_PSs11BooleanType_   在DCTestBTBusinessService.o ld:找不到符号   体系结构x86_64 clang:错误:链接器命令失败并带有退出代码   1(使用-v查看调用)

如果我将静态const更改为#define,它会成功编译,但如果没有必要,这并不理想。知道为什么这不链接?谢谢你的帮助!

编辑:以下是我们尝试使用该值的示例。 CacheManager类是一个Objective-C类,containsObjectForKey接受一个NSString作为参数。

CacheManager.instance().containsObjectForKey(kSomeConstant)

0 个答案:

没有答案