Swift to Objective-C头文件不包含Swift类
发布时间:2020-12-14 05:35:06 所属栏目:百科 来源:网络整理
导读:我试图在我的Objective-C代码中使用 Swift类,但是我的 Swift类似乎没有出现在生成的标题中.因此,我的构建失败了“使用未声明的标识符”HelloWorld“”. 我使用模板来创建一个名为TestApp的项目. 我的目标中有以下Build Settings: 产品名称:TestApp 产品模
我试图在我的Objective-C代码中使用
Swift类,但是我的
Swift类似乎没有出现在生成的标题中.因此,我的构建失败了“使用未声明的标识符”HelloWorld“”.
我使用模板来创建一个名为TestApp的项目. 我的目标中有以下Build Settings: >产品名称:TestApp Apple的文档说使用#import< TestApp / TestAppModule-Swift.h>但这不行. 相反,我在我的“.m”文件中使用#import“TestAppModule-Swift.h”.似乎找到了这个. 我可以导航到它,它看起来像这样… // Generated by Swift version 1.0 (swift-600.0.34.4.5) #if defined(__has_include) && __has_include(<swift/objc-prologue.h>) # include <swift/objc-prologue.h> #endif ...etc... 但在那里没有定义类. 我在项目中有一个Swift文件,看起来像这样… class HelloWorld { func hello() { println("hello world") } } 为什么这不工作使用标准头文件位置#import< TestApp / TestAppModule-Swift.h>? 如何在该头文件中获得我的快捷类,所以我不会得到“未声明的标识符”错误?
这是我已经得到它的工作.你可以看到更大的答案
here.
改变这个: class HelloWorld { func hello() { println("hello world") } } 至: @objc class HelloWorld { class func newInstance() -> HelloWorld { return HelloWorld() } func hello() { println("hello world") } } 然后,在您的ObjC文件中: #import "TestApp-Swift.h" 并打电话给这样: HelloWorld * helloWorld = [HelloWorld newInstance]; [helloWorld hello]; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |