从Swift错误调用objective-c方法

时间:2016-09-13 18:04:05

标签: objective-c swift

当我尝试从swift调用objective-c方法时出现错误。 我的目标-c .h课程:

@class myType;
@interface myClass : NSObject
- (myType *)myMethod;

然后我将创建一个myClass对象,并尝试在swift中调用myMethod(我声明了一个类型为myClass的对象):

let a = anObject.myMethod();

但是我收到一个错误: 类型的价值' myClass'没有会员' myMethod' 如果我将myType更改为其他内容,则错误消失。所以它应该是一个不能在swift中识别myType的问题。

我感谢任何帮助

2 个答案:

答案 0 :(得分:2)

@class myType;

只是该类的“前向声明”。为了打电话

- (myType *)myMethod;
来自Objective-C或Swift的

方法,编译器需要知道 该类的实际接口声明。所以“myType.h”或其他什么 文件包含

@interface myType : NSObject
// ...
@end

必须包含在桥接头文件中。

备注:班级名称应以大写字母开头。

答案 1 :(得分:0)

事实证明,对我来说真正的问题是别的! 我不得不简单地删除派生数据:

  • 窗口 - >项目 - >派生数据 - >删除
  • 清洁项目
  • 退出Xcode
  • 打开Xcode
  • 构建项目

显然,使用swift我更经常采取这些步骤..