Как использовать Swift typealias в коде Objective-C
Я создаю пользовательский реагирующий модуль, и у меня есть этот пользовательский тип в файле 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
1 ответ
Решение
Typealiases, определенные в Swift, не поддерживаются в Objective-C. Тем не менее, вы должны иметь возможность переопределить тип блока в Objective-C с typedef
:
typedef void (^TrimCompletion)(NSError *);