Objc 中的 C 风格结构未导入到 Swift

MQL*_*QLN 6 c struct objective-c swift bridging-header

我遇到的并且绝对不理解的问题是,为什么当包含指针时,我的 Swift 代码无法访问从 Objective-C 导入的桥接 C 风格结构NSString,而当 thenNSString被替换为char *.

例如,当我在Foo.h文件中定义以下内容时:

typedef struct {
    NSString* value;
    SomeEnum unit;
} SomeMeasurement;
Run Code Online (Sandbox Code Playgroud)

我在编译时收到错误Value of Type ... has no member Measurement(来自parental )。class

而当我的结构如下时:

typedef struct {
    char* value;
    SomeEnum unit;
} SomeMeasurement;
Run Code Online (Sandbox Code Playgroud)

事情按预期编译(即使char无法满足​​我当前的需求)。事实上,这个小变化允许 Swift “看到”这个结构,这让我完全困惑,因为这意味着它(可能)不是桥接头文件或类似文件的问题。

另外,如果我替换NSStringNSMutableData,问题仍然存在,并且看不到结构。