我无法将swift类导入objective-c。
我的脚步:
创建名为“test”的空单视图objective-c项目。
创建swift类(mytestclass.swift)
创建桥接空头“test swift.h”
试着用在 ViewController.m 这样地: #import "test-Swift.h" [[MyTestClass init] calculate];
ViewController.m
#import "test-Swift.h" [[MyTestClass init] calculate];
import Foundation @objc public class MyTestClass: NSObject { @objc public func calculate() { print("TEST") } }
编译后我得到:
/users/xxx/desktop/test/viewcontroller.m:19:7:使用未声明的 标识符“myTestClass”
我错过了什么?
你的问题是同步的
3-创建桥接空标题“test swift.h”
您不应该手动创建该文件,因为它是在将swift文件添加到objective-c时创建的,还需要替换这一行
[[MyTestClass init] calculate];
具有
[[[MyTestClass alloc] init] calculate];
或
[[MyTestClass new] calculate];
这是一个工作 demo