从Swift调用objective-c方法错误
问题描述:
当我尝试从swift调用objective-c方法时出现错误。 我的Objective-C的.h类:从Swift调用objective-c方法错误
@class myType;
@interface myClass : NSObject
- (myType *)myMethod;
然后,我将创建一个对象MyClass的形式,并试图调用myMethod的斯威夫特(我已经声明MyClass类型的anObject):
let a = anObject.myMethod();
,但我出现错误: 'myClass'类型的值没有成员'myMethod' 如果我将myType更改为其他值,错误消失。因此,它应该是在迅速不承认的的myType一个问题..
我感谢所有帮助
答
原来我的真正问题是别的! 我只好直接删除导出的数据:
- 窗口 - >项目 - >导出数据 - >删除
- 清理项目
- 退出Xcode中
- 开放的Xcode
- 生成项目
显然,使用swift我必须更经常地这些步骤..
答
@class myType;
仅仅是一个“向前声明”那类的。为了调用从任何的Objective-C或雨燕
- (myType *)myMethod;
方法,编译器需要知道类的 实际接口声明。因此,“myType.h”或任何 文件包含
@interface myType : NSObject
// ...
@end
必须从桥接头文件被包括在内。
备注:类名应以大写字母开头。
@class myType;'是不够的,Swift需要知道该类的接口。 –
你能举个例子吗? – Besat
包含'@interface myType .... @ end'的头文件必须包含在桥接头文件中。 –