Как получить доступ к расширению класса c в Swift
У меня было много расширений классов, написанных ранее, например:
Мой заголовочный файл, NSDate+comfort.h:
@interface NSDate (Convenience)
+ (NSDate *)dateFromMyString:(NSString *)dateString
withDateFormatStr:(NSString *)dateFormatStr;
@end
Мой файл реализации Obj-C, NSDate+comfort.m:
@implementation NSDate (Convenience)
+ (NSDate *)dateFromMyString:(NSString *)dateString
withDateFormatStr:(NSString *)dateFormatStr {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
[formatter setTimeZone:[NSTimeZone localTimeZone]];
[formatter setDateFormat:dateFormatStr];
return [formatter dateFromString:dateString];
}
@end
Я использую расширение класса NSDate в цели c:
[NSDate dateFromMyString:[NSDate date] withDateFormatStr:@"yyyyMMdd-HHmmss-SSS"]
Но когда хочется использовать его в Swift что-то вроде:
NSDate.dateFromMyString(dateString: dateStr, DateFormatStr: "yyyyMMdd-HHmmss-SSS")
или же
NSDate.dateFromMyString(bla bla bla ...)
В любом случае, NSDate не имеет члена типа dateFromMyString, у меня есть много расширений классов, которые я написал ранее. Нужно ли снова реализовать эти расширения классов в Swift.
Я должен подчеркнуть, что я могу использовать свои обычные свойства и методы классов Obj-C в Swift, но я не могу использовать файл obj-C, который является расширением Obj-C. Поэтому, пожалуйста, не давайте мне ссылку "Как вызвать код Objective-C из Swift". Пожалуйста, поймите мой вопрос.