objective-c - Swift 类 在 Objective-C .h 文件中不可见
objective-c - Swift classes are not visible in Objective-C .h file
我正在尝试在我的 Objective-C 文件中使用 Swift class。
我在我的 SuperViewController.m
文件中包含了 "moduleName-Swift.h"
文件,但是当我尝试在 SuperViewController.h
中声明一个 public 方法并将 Swift-class
作为方法参数时,我显然得到了一个错误:"Expected a type"
如果我只能在 .m
文件中包含 projectModule-Swift.h
,我如何在头文件中使用 swift-class
?
确保将@objc 放在 swift class 名称之前。
@objc myclassname { ... }
同时添加
@class myclassname;
在你的 obj-c 头文件 中你想要访问 swift class
我遇到了同样的问题。在 obj-c .h 文件中添加 @class MyClassName 会产生 "Receiver 'MyClassName' for class message is a forward declaration" 错误,所以我删除了它并且只在 swift class 名称之前添加了“@objc”,但是我还必须确保 swift class 是 NSObject.
的子class
@objc class MySwiftClass:NSObject { ... }
在 obj-c .h 文件中没有 @class MyClassName!
我必须使用:
@obj public class MySwiftClass: NSObject { ... }
记得在你的源文件中导入项目生成的swift头文件,例如#import <MyProjectName-Swift.h>
我创建了一个没有子class的class,添加@objc 和@objcmembers 没有用。
在我更改 :NSObject
之后,整个 class 变为对 objective-C
可见
我正在尝试在我的 Objective-C 文件中使用 Swift class。
我在我的 SuperViewController.m
文件中包含了 "moduleName-Swift.h"
文件,但是当我尝试在 SuperViewController.h
中声明一个 public 方法并将 Swift-class
作为方法参数时,我显然得到了一个错误:"Expected a type"
如果我只能在 .m
文件中包含 projectModule-Swift.h
,我如何在头文件中使用 swift-class
?
确保将@objc 放在 swift class 名称之前。
@objc myclassname { ... }
同时添加
@class myclassname;
在你的 obj-c 头文件 中你想要访问 swift class
我遇到了同样的问题。在 obj-c .h 文件中添加 @class MyClassName 会产生 "Receiver 'MyClassName' for class message is a forward declaration" 错误,所以我删除了它并且只在 swift class 名称之前添加了“@objc”,但是我还必须确保 swift class 是 NSObject.
的子class@objc class MySwiftClass:NSObject { ... }
在 obj-c .h 文件中没有 @class MyClassName!
我必须使用:
@obj public class MySwiftClass: NSObject { ... }
记得在你的源文件中导入项目生成的swift头文件,例如#import <MyProjectName-Swift.h>
我创建了一个没有子class的class,添加@objc 和@objcmembers 没有用。
在我更改 :NSObject
之后,整个 class 变为对 objective-C