Objective C Project中的Swift类

时间:2016-10-15 02:14:46

标签: objective-c swift

我在现有的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]; - 但得到'没有已知的类方法'。

1 个答案:

答案 0 :(得分:1)

问题只在于您正在调用sayHello,就好像它是方法一样,但sayHello被声明为实例方法。所以:

[[Hello new] sayHello];