我在现有的ObjC项目中执行某些Swift代码时遇到问题。这是我第一次尝试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];
- 但得到'没有已知的类方法'。
答案 0 :(得分:1)
问题只在于您正在调用sayHello
,就好像它是类方法一样,但sayHello
被声明为实例方法。所以:
[[Hello new] sayHello];