将Swift导入到Objective-C中-“使用未声明的标识符”

时间:2019-01-14 12:49:38

标签: ios objective-c swift xcode

我无法将Swift类导入到Objective-C中。

  • Xcode版本:10.1
  • 迅速:4.2

我的步骤:

  1. 创建一个名为“测试”的空单视图Objective-C项目。

  2. 创建Swift类(mytestclass.swift)

  3. 创建桥接空标题“ test-Swift.h”

  4. 尝试像这样在ViewController.m中使用:#import "test-Swift.h" [[MyTestClass init] calculate];

mytestclass.swift

import Foundation

@objc public class MyTestClass: NSObject {

    @objc public func calculate() {
        print("TEST")
    }
}

编译后,我得到:

  

/Users/xxx/Desktop/test/ViewController.m:19:7:使用未声明的   标识符“ MyTestClass”

我想念什么?

1 个答案:

答案 0 :(得分:1)

您的问题已解决

  

3-创建桥接空标题“ test-Swift.h”

您不应该手动创建该文件,就像将swift文件添加到Objective-C时创建的那样,您还需要替换此行

[[MyTestClass init] calculate];

使用

[[[MyTestClass alloc] init] calculate];

[[MyTestClass new] calculate];

这是工作中的demo