代码之家  ›  专栏  ›  技术社区  ›  Wojciech Kulik

将swift导入objective-c-“使用未声明的标识符”

  •  0
  • Wojciech Kulik  · 技术社区  · 6 年前

    我无法将swift类导入objective-c。

    • Xcode版本:10.1
    • 斯威夫特:4.2

    我的脚步:

    1. 创建名为“test”的空单视图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 回复  |  直到 6 年前
        1
  •  1
  •   Shehata Gamal    6 年前

    你的问题是同步的

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

    您不应该手动创建该文件,因为它是在将swift文件添加到objective-c时创建的,还需要替换这一行

    [[MyTestClass init] calculate];
    

    具有

    [[[MyTestClass alloc] init] calculate];
    

    [[MyTestClass new] calculate];
    

    这是一个工作 demo

    推荐文章