Я пытаюсь создать экземпляр DateFormatter только один раз для класса, поэтому я не трачу кучу вычислительного времени на его выполнение для каждого экземпляра. В Obj-C я лениво создаю статическое свойство, чтобы выполнить это. Я пытаюсь понять, как это сделать в Swift, и большинство объяснений, которые я прочитал, точно не отвечают на этот вопрос.Static в ObjC vs Static in Swift
В Obj-C:
- (NSDateFormatter *)dateFormatter {
static NSDateFormatter *dateFormatter = nil;
if (!dateFormatter) {
dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateStyle = NSDateFormatterMediumStyle;
}
return dateFormatter;
}
Swift перевод?
static var dateFormatter: DateFormatter {
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .medium
return dateFormatter
}
Вы можете позволить компилятору вывести перечисление : 'dateFormatter.dateStyle = .medium' – Alexander