当前位置: 首页 > 知识库问答 >
问题:

snft中的dispatch_once_t备选[复制]

严安志
2023-03-14

已经试过这些:

“dispatch_once_t”在Swift中不可用:请改用延迟初始化的全局变量

你在Swift 3中会去哪里?

class var sharedInstance:Model{
        struct Static{
            static var instance:Model?
            static var token: dispatch_once_t = 0
        }

        dispatch_once(&Static.token){
            Static.instance = Model()
        }
        return Static.instance!

    }

请建议我dispatch_once_t的替代方法...我不知道snft,我代码为C/C /Obj.C,请给我swft代码来解决上述问题

共有1个答案

燕翔飞
2023-03-14

在swift中,singleton可以写成:,

class Model: NSObject {
    static let sharedInstance = Model()
}

然后使用模型。sharedInstance。你不需要像目标c那样发送一次。

来源https://thatthinginswift.com/singletons/

 类似资料:
  • 下面是我的代码。 问题是当我选中一个复选框时,包括选中循环视图中的其他复选框。但当我签入适配器时,项目被正确添加,但复选框被复制。 例如:如果我选中了第一项复选框,向下滚动第16项复选框也会被选中。取消选中该复选框也将取消选中第一项。

  • 我经常挠头的情况下,让我们说我有一个通用的类在一个pod中,可以处理权限,在应用程序中,我希望能够扩展它来创建更有意义的方法名称,也就是使用枚举作为参数,使其使用更清晰,更不容易出错。 但在别处创建扩展时,似乎不能调用private方法。 我相信会有更干净的方法,或者我的模式是错误的... 以下是它的简化版本: 外部pod中的类: 以及应用程序中的扩展: 澄清: 是Pod中的一个类,仅用于检查在使

  • 我很确定我以前做过这个,但是我找不到任何关于它的留档。我发现这个问题很难研究。 我想在屏幕上显示一段文本的一个版本(A)。但是,当文本被复制时,该文本(B)的不同版本实际上被复制到剪贴板。在实践中,A和B可能非常相似,但该技术应该允许A和B是完全不同的字符串。 例如,如果我使用

  • 我在迁移到Swift 3时遇到了问题。 根据苹果的迁移指南: dispatch_once的自由函数在Swift中不再可用。在Swift中,您可以使用延迟初始化的全局或静态属性,并获得与dispatch_once提供的相同的线程安全和调用一次保证。示例: 所以我想迁移这段代码。所以在移民之前: 迁移之后,按照苹果的指导方针(手动迁移),代码如下所示: 但是当我运行这个程序时,当访问

  • 我希望在选中表中的所有复选框时选中标题复选框,如果没有选中单个复选框,则应取消选中标题复选框。