1

我之前写过很多类扩展,比如:

我的头文件,NSDate+convenience.h:

@interface NSDate (Convenience)
+ (NSDate *)dateFromMyString:(NSString *)dateString 
           withDateFormatStr:(NSString *)dateFormatStr;
@end

我的 Obj-C 实现文件,NSDate+convenience.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

我在目标 c 中使用我的 NSDate 类扩展:

[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 中实现这些类扩展。

我必须强调,我可以在 Swift 中使用我自定义的普通 Obj-C 类属性和方法,但我不能使用作为 Obj-C 扩展的 obj-C 文件。所以请不要给我链接“如何从 Swift 调用 Objective-C 代码”。请理解我的问题。

4

0 回答 0