gpt4 book ai didi

ios - 重新创建一个单例

转载 作者:行者123 更新时间:2023-11-28 10:49:58 25 4
gpt4 key购买 nike

不幸的是,我需要重新创建一个单例。

看起来像这样

class Myplayer: AVPlayer {
static let sharedInstance: Myplayer = {

let instance = Myplayer()

return instance
}()

从这里可以看出,原因是 AVPlayer 有时会进入失败状态 (.status == .failed) 并且文档特别提到需要重新创建实例本身才能工作任何进一步。

我已经用这种单例模式结束了我的应用程序,并且有几个月的实时牵引力,因此将其更改为非单例模式可能会在这一点上花费太多工作。

所以我的问题是,我怎样才能以一种漂亮的方式重新创建这个单例?

最佳答案

每当我需要在(例如)单元测试期间可重置的单例时,我都会使用此模式:

class MyManager {

private static var _sharedInstance: MyManager? = nil

static var sharedInstance: MyManager {
if _sharedInstance == nil {
_sharedInstance = MyManager()
}
return _sharedInstance!
}

static func resetSharedInstance() {
_sharedInstance = nil
}
}

关于ios - 重新创建一个单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46561050/

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