在一个快速项目中从Objective-C调用Swift函数

时间:2015-04-14 09:59:58

标签: ios objective-c swift

有一个 swift项目,其中我有一个Objective-C文件。我想从Objective-C文件中调用一个Swift类函数

最好的方法是什么?我使用NSNotification完成了它,但想知道是否有更好的方法来做到这一点。

试验桥接-Header.h

#import "ObjectiveC.h"

ClassA.swift

@objc class ClassA {

    func f1() {

    }
}

ObjectiveC.h

void objC_f1()

ObjectiveC.m

void objC_f1() {

    //Create an instance of ClassA and call function f1
}

结论

  • 因为我有一个测试用例计划而导致了一些麻烦。
  • 当我创建一个没有测试用例方案的新项目时,它运行正常。
  • 请注意 - 生成-Swift.h但不会在项目导航器中列出
  • 这回答了我的问题 - How to call Objective-C code from Swift

1 个答案:

答案 0 :(得分:0)

来自Apple doc Apple Doc Link

  

将Swift导入Objective-C

     

当您将Swift代码导入Objective-C时,您依赖于   Xcode生成的头文件将这些文件暴露给Objective-C。这个   自动生成的文件是一个声明的Objective-C头   目标中的Swift接口。它可以被认为是一种   你的Swift代码的标题。这个标题的名称是你的   产品模块名称后跟“-Swift.h”

例如,如果您的产品名称是MyApplication,则只需导入生成的文件MyApplication-Swift.h