如何将其转换为Objective-C?
let date = NSDate(timeIntervalSinceReferenceDate: interval)
我试过了:
NSDate *date = [NSDate timeIntervalSinceReferenceDate: (interval)];
当然会产生错误。
告诉我:没有已知的选择器timeIntervalSinceReferenceDate的类方法:
此处还有一些背景信息:
NSTimeInterval interval = [[NSDate alloc]init].timeIntervalSinceReferenceDate + [NSDate weekInSeconds].doubleValue;
NSDate *date = [NSDate timeIntervalSinceReferenceDate: (interval)];
return [self isSameWeekAsDate:(date)];
答案 0 :(得分:1)
timeIntervalSinceReferenceDate:
不是NSDate
类上实现的方法。当从Objective-C桥接到Swift时,Swift会使用初始化器重命名。
为了使用引用日期初始化Objective-C中的NSDate
对象,您必须调用类方法dateWith...
或实例方法initWith...
:
NSDate * const date = [NSDate dateWithTimeIntervalSinceReferenceDate: timeInterval];
...或
NSDate * const date = [[NSDate alloc] initWithTimeIntervalSinceReferenceDate: timeInterval];
我在这里添加了const
,以使其更符合Swift代码和let
声明。