我在现有Objc项目中执行一些SWIFT代码时遇到问题。这是我第一次尝试斯威夫特,所以我肯定我遗漏了一些简单的东西。
我已将新的swift文件添加到我的项目中-此过程生成了桥接头。所以现在我有以下几点:
桥接头文件

//
//  Use this file to import your target's public headers
//  that you would like to expose to Swift.
//

#import "historyViewController.h"

在我的swift文件中,我有以下测试类和函数:
import Foundation

@objc class Hello: NSObject {
    func sayHello() {
        print("Hi There")
    }
}

在我的historyViewController.m文件中,我有以下内容
#import "xx-Bridging-Header.h"

在historyViewController.h文件中,我有以下内容
@class Hello;

如何在historyViewController.m文件中执行sayHello函数?我试过[Hello sayHello];-但是得到了“不知道的类方法”。

最佳答案

问题是,您调用sayHello时,将其视为类方法,但sayHello声明为实例方法。所以:

[[Hello new] sayHello];

关于objective-c - Objective C项目中的Swift类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40054278/

10-10 20:39