Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to reuse Swift typealias in Objective-C code

I'm creating a custom react-native module and I have this custom type in a swift file

VideoTrimmer.swift

typealias TrimCompletion = (Error?) -> ()

how do I import or reuse it in a file with objective code? Or what's the syntax to redeclare it? I'm not so familiar with Objective-C syntax.

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
like image 795
somonek Avatar asked Dec 10 '17 18:12

somonek


1 Answers

Typealiases defined in Swift are not supported in Objective-C. However, you should be able redeclare the block type in Objective-C with typedef:

typedef void (^TrimCompletion)(NSError *);
like image 102
Eugene Berdnikov Avatar answered Sep 18 '22 05:09

Eugene Berdnikov