【发布时间】:2018-05-19 22:38:53
【问题描述】:
我即将了解 Swift、Objective-C 和 C++ 的基础知识。我正在尝试在 Objective-C 和 Swift 之间架起一座桥梁,并设置一个合适的委托 (MyDelegate)。
下面的代码运行良好,但我从静态函数调用 Swift 函数 callbackInteger() 时遇到了一些问题,例如:
我的文件.mm:
static void test() {
// how to call callbackInteger?
}
我的文件.mm:
- (void)callbackToSwift:(int)testInteger {
if (self.delegate != nil) {
[self.delegate callbackInteger: testInteger];
}
}
MyDelegate.h:
@protocol MyDelegate <NSObject>
- (void) callbackInteger: (int) testInteger;
@end
ViewController.swift:
class ViewController: UIViewController, MyDelegate {
func callbackInteger(_ testInteger: Int) {
print("testInteger: \(testInteger)");
}
}
注意:我真的不知道如何使用委托调用实现对 callbackInteger 函数的调用。
【问题讨论】:
-
它是objectiveC++,所以我添加了标签objectiveC和标签C++。我很确定我没有做错任何事:) @hlt
-
func callbackInteger是一个 instance 函数。您需要引用特定的 ViewController 实例才能调用它。
标签: c++ objective-c swift objective-c++