gpt4 book ai didi

ios - 如何使用 swift 4.2 在泛型类中创建 Singleton?

转载 作者:行者123 更新时间:2023-11-29 05:54:18 24 4
gpt4 key购买 nike

我一直在尝试将单例类转换为泛型类。由于 swift 不支持泛型类 Singleton 中的存储属性,因此无法实现。我尝试了我所知道的所有可能的解决方案,但没有任何效果。与此主题相关的其他 Stackoverflow 答案也没有帮助。有人可以帮助我走上正确的道路吗?提前致谢。

我添加了下面的示例代码。

    class SingleTonClass<T: Equatable & RawRepresentable>: NSObject where T.RawValue == String {


private var catlog: CatlogModelClass<T>?
private var catlogArray = [CatlogModelClass<T>]()


**// This stored property Now has to be changed to support Generic**
private static var shared : SingleTonClass = {
return SingleTonClass()
}()

// Accessor for Singleton
static func sharedInstance() -> SingleTonClass {
return shared
}

private override init () {}
}

最佳答案

如果你希望它是非单例的,你需要创建一个公共(public)构造函数。

您应该将catalog和catalogArray传递到构造函数中并初始化self.catalog和self.catalogArray。然后,您需要删除该类的静态共享实例,因为您的新设置将要求您创建它的实例。

关于ios - 如何使用 swift 4.2 在泛型类中创建 Singleton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55312626/

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