需要将其转换为Objective-C语法,似乎无法找到转换它的方法。
private class func components(fromDate fromDate: NSDate) -> NSDateComponents! {
return NSCalendar.currentCalendar().components(NSDate.componentFlags(), fromDate: fromDate)
}
试过这个:
- (NSDateComponents *) componentsFromDate: (NSDate *) fromDate {
return [[NSCalendar currentCalendar] componentsFromDate: [NSDate componentFlags] : fromDate];
}
这是在之前定义的:
- (NSCalendarUnit *) componentFlags {
return NSCalendarUnitYear, NSCalendarUnitMonth, NSCalendarUnitDay, NSCalendarUnitWeekOfYear, NSCalendarUnitHour, NSCalendarUnitMinute, NSCalendarUnitSecond, NSCalendarUnitWeekday, NSCalendarUnitWeekdayOrdinal, NSCalendarUnitWeekOfYear;
}
所有这些都在我创建的类别中:
@implementation NSDate (AFDateHelperObjC)
@end
答案 0 :(得分:0)
你需要:
- (NSDateComponents *) componentsFromDate: (NSDate *) fromDate {
return [[NSCalendar currentCalendar] components:[NSDate componentFlags] fromDate:fromDate];
}
NSCalendar
中方法的名称为components:fromDate:
。
您作为类别方法添加到componentsFlags
的{{1}}方法需要是类方法,而不是实例方法。在类别的.h和.m中,将NSDate
更改为-
。返回类型必须为+
,而不是NSCalendarUnit
。并且您需要使用按位OR将所有标志连接在一起。
NSCalendarUnit *