从Swift调用variadic Objective-C函数
我已经总结了问题的步骤,我在Objective-C中定义了一个C函数:
ObjC.h
#import void cuslog(NSString *format, ...); @interface ObjC : NSObject @end
ObjC.m
#import "ObjC.h" @implementation ObjC @end void cuslog(NSString *format, ...) { // Implementation }
我在Bridging-Header.h中公开了它:
#import "ObjC.h" // Also tried to put this line in bridging header void cuslog(NSString *format, ...);
在Swift中,我打算像这样调用函数:
cuslog("Some log")
但错误说:
"Use of unresolved identifier 'cuslog'"
在Swift中调用函数的正确方法是什么?
根据Swift开发人员的说法, C变量函数与Swift变量函数不兼容 ,因此您无法直接调用函数。
目前唯一的解决方法是在C或Obj-C中编写一个非变量包装器,并从Swift调用它。