从Swift错误调用objective-c方法
我试图从swift调用objective-c方法时出错。 我的目标-c.h类:从Swift错误调用objective-c方法,objective-c,swift,Objective C,Swift,我试图从swift调用objective-c方法时出错。 我的目标-c.h类: @class myType; @interface myClass : NSObject - (myType *)myMethod; 然后,我将从myClass创建一个对象,并尝试在swift中调用myMethod(我已声明myClass类型的一个对象): 但我有一个错误: “myClass”类型的值没有成员“myMethod” 如果我将myType更改为其他类型,错误就会消失。因此,在swift中不识别myTyp
@class myType;
@interface myClass : NSObject
- (myType *)myMethod;
然后,我将从myClass创建一个对象,并尝试在swift中调用myMethod(我已声明myClass类型的一个对象):
但我有一个错误:
“myClass”类型的值没有成员“myMethod”
如果我将myType更改为其他类型,错误就会消失。因此,在swift中不识别myType应该是一个问题
谢谢你的帮助
@class myType;
只是该类的“转发声明”。为了打电话给
- (myType *)myMethod;
方法,编译器需要知道
该类的实际接口声明。“myType.h”之类的
文件包含
@interface myType : NSObject
// ...
@end
必须从桥接头文件中包括
备注:类名应该以大写字母开头。原来对我来说真正的问题是别的! 我必须简单地删除派生数据:
- 窗口->项目->派生数据->删除
- 清洁工程
- 退出Xcode
- 开放Xcode
- 建设项目
显然,使用swift我必须更频繁地执行这些步骤。
@class myType代码>不够,Swift需要知道该类的接口。请给我一个例子?包含@interface myType….的头文件@必须从桥接头文件中包括end
。谢谢。。。我将myType头引用添加到我的桥类中,它可以正常工作。如果您将您的答案添加为具有相同问题的答案,清除派生数据,退出我的xcode,并且仍然存在相同的错误,我会将您的答案标记为正确。在我的例子中,我可以看到调用objc方法的swift调用出现在导入模块中,但仍然没有生成:类型为“MyPrint”的值没有成员“createLayout”,这应该是可以接受的答案
@interface myType : NSObject
// ...
@end