当我尝试从 swift 调用 Objective-C 方法时出现错误。我的 Objective-c .h 类:
@class myType;
@interface myClass : NSObject
- (myType *)myMethod;
Run Code Online (Sandbox Code Playgroud)
然后我将创建一个 myClass 对象并尝试在 swift 中调用 myMethod (我已经声明了 myClass 类型的一个对象):
let a = anObject.myMethod();
Run Code Online (Sandbox Code Playgroud)
但我收到错误:“myClass”类型的值没有成员“myMethod”如果我将 myType 更改为其他内容,错误就会消失。所以应该是swift中无法识别myType的问题..
我很感激任何帮助
@class myType;
Run Code Online (Sandbox Code Playgroud)
只是该类的“前向声明”。为了调用
- (myType *)myMethod;
Run Code Online (Sandbox Code Playgroud)
无论是 Objective-C 还是 Swift 中的方法,编译器都需要知道该类的实际接口声明。所以“myType.h”或任何包含的文件
@interface myType : NSObject
// ...
@end
Run Code Online (Sandbox Code Playgroud)
必须包含在桥接头文件中。
备注:类名应以大写字母开头。