gpt4 book ai didi

ios - ObjC 中的静态与 Swift 中的静态

转载 作者:搜寻专家 更新时间:2023-11-01 06:04:40 25 4
gpt4 key购买 nike

我试图为该类只实例化一个 DateFormatter 一次,因此我不会浪费大量计算时间为每个实例都这样做。在 Obj-C 中,我延迟实例化一个静态属性来完成此操作。我试图弄清楚如何在 Swift 中执行此操作,而我读过的大部分解释都没有准确回答这个问题。

在 Obj-C 中:

- (NSDateFormatter *)dateFormatter {
static NSDateFormatter *dateFormatter = nil;
if (!dateFormatter) {
dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateStyle = NSDateFormatterMediumStyle;
}
return dateFormatter;
}

快速翻译?

static var dateFormatter: DateFormatter {
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .medium
return dateFormatter
}

最佳答案

您需要在类级别声明静态变量:

class MyClass {
static var dateFormatter: DateFormatter = {
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = DateFormatter.Style.medium
return dateFormatter
}()
}

关于ios - ObjC 中的静态与 Swift 中的静态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40897588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com