Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode Swift 2.2之后无法访问外部NSString_Xcode_Swift - Fatal编程技术网

Xcode Swift 2.2之后无法访问外部NSString

Xcode Swift 2.2之后无法访问外部NSString,xcode,swift,Xcode,Swift,由于使用Swift 2.2更新Xcode 7.3,我无法从外部Objective-C库访问变量 从今天起,我可以访问以下变量: extern NSString* const DEFAULT_URL; 这是在预编译的.a框架的Objective-C头文件中定义的 在我的swift代码中,我只需调用DEFAULT\uURL 自Swift 2.2以来,我得到以下错误: Use of unresolved identifier 'DEFAULT_URL' 我可以访问此框架的类和方法,但无法访

由于使用Swift 2.2更新Xcode 7.3,我无法从外部Objective-C库访问变量

从今天起,我可以访问以下变量:

extern NSString* const DEFAULT_URL;  
这是在预编译的.a框架的Objective-C头文件中定义的

在我的swift代码中,我只需调用
DEFAULT\uURL

自Swift 2.2以来,我得到以下错误:

Use of unresolved identifier 'DEFAULT_URL'  
我可以访问此框架的类和方法,但无法访问
extern NSStrings


有没有办法解决这个问题?

@patrickS我有这个想法是出于愚蠢的原因,我的extern const是在我的.h文件的@interface中定义的。这似乎使得这个版本的XCode/Clang对Swift代码是私有的。它适用于所有外部常量,而不仅仅是NSString*

e、 g

而不是

//In Foo.h
@interface Foo
extern const int kBlah
...
@end

我也遇到了同样的问题,在我的例子中,ext字符串位于依赖项管理(cough-pod-cough)的第三方库中。因此,从长远来看,我无法轻松地移动它们而不把一切搞糟

我找到了两种解决方案:

  • 将ext声明复制粘贴到桥接的(底部) 标题
  • 在objective c中编写自己的静态助手类 提供ext字符串作为类方法(并使此静态帮助程序可用于Swift)

  • 我将这两个解决方案中您认为不那么黑的留给您(我选择了解决方案1,因为我很懒)。

    我已经更新了这个问题,外部定义在obj-c头文件中。我还构建了一个桥接头。没有,但我现在添加了这个,但这并没有改变任何事情。我有同样的问题。typedef也有同样的问题
    //In Foo.h
    @interface Foo
    extern const int kBlah
    ...
    @end