objective-c - 如何在 Objective-C 代码中重用 Swift 类型别名

标签 objective-c swift react-native-native-module

我正在创建一个自定义的 react-native 模块,我在一个 swift 文件中有这个自定义类型

VideoTrimmer.swift

typealias TrimCompletion = (Error?) -> ()

如何在包含目标代码的文件中导入或重用它?或者重新声明它的语法是什么?我不太熟悉 Objective-C 语法。

VideoTrimmer.m

#import "React/RCTBridgeModule.h"
@interface RCT_EXTERN_MODULE(VideoTrimmer, NSObject)
  RCT_EXTERN_METHOD(trimVideo:(NSURL *)sourceURL destinationURL:(NSURL 
  *)destinationURL startTime:(int *)startTime endTime:(int *)endTime 
  completion:(TrimCompletion *)completion)
@end

最佳答案

Swift 中定义的类型别名是 not supported在 Objective-C 中。 但是,您应该能够 redeclare使用 typedef 的 Objective-C block 类型:

typedef void (^TrimCompletion)(NSError *);

关于objective-c - 如何在 Objective-C 代码中重用 Swift 类型别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47742060/

相关文章:

objective-c - didStartMonitoringForRegion 一次调用两次 startMonitoringForRegion

ios - 以编程方式快速更改 UIButton 的文本

IOS Swift Post 请求返回一些不清楚的内容

android - 为 react-native native android 方法编写单元测试

android - React Native、Android Studio、JDBC、MySql - 用户访问被拒绝 'root' @'ipaddress'

带有照片的 iOS UIAlertView

objective-c - 每个单独的声音都需要一个 AVAudioPlayer 实例吗?

ios - Swift 或 Objective C 中的 CalDAV 处理

swift - 在 Swift 中使用类本身协议(protocol)中声明的枚举?

ios - 从 ReactNative rootviewcontroller 获取呈现的 Viewcontroller