Ios 将变量放入AppDelegate是Swift中静态变量的一种解决方法吗?

Ios 将变量放入AppDelegate是Swift中静态变量的一种解决方法吗?,ios,swift,static,Ios,Swift,Static,因为Swift没有静态变量,我正在尝试访问连接,所以应该是静态的。。。将此变量放置在应用程序委托中是否是合理的解决方案 我在以下网站上找到了此片段: 因此,当在代码中调用xmppStream()时,它会返回原始实例,还是返回此处实际执行的操作?这并不完全准确。Swift类没有静态变量,但结构和枚举有 struct Static { static var stream: XMPPStream? } 如果愿意,您可以稍后在代码中初始化它 Static.stream = XMPPStream

因为Swift没有静态变量,我正在尝试访问连接,所以应该是静态的。。。将此变量放置在应用程序委托中是否是合理的解决方案

我在以下网站上找到了此片段:


因此,当在代码中调用
xmppStream()
时,它会返回原始实例,还是返回此处实际执行的操作?

这并不完全准确。Swift类没有静态变量,但结构和枚举有

struct Static {
    static var stream: XMPPStream?
}
如果愿意,您可以稍后在代码中初始化它

Static.stream = XMPPStream()
如果类需要静态变量,另一种方法是将结构嵌套在其中:

class RegularClass {

    struct Static {
        static var stream: XMPPStream?
    }

    //Other code
}
在其他地方,你可以像

RegularClass.Static.stream ...

这可能是目前Swift中针对单身人士的最佳方法。并不是说我完全纵容那件事

这并不完全准确。Swift类没有静态变量,但结构和枚举有

struct Static {
    static var stream: XMPPStream?
}
如果愿意,您可以稍后在代码中初始化它

Static.stream = XMPPStream()
如果类需要静态变量,另一种方法是将结构嵌套在其中:

class RegularClass {

    struct Static {
        static var stream: XMPPStream?
    }

    //Other code
}
在其他地方,你可以像

RegularClass.Static.stream ...

这可能是目前Swift中针对单身人士的最佳方法。并不是说我完全纵容那件事

这并不完全准确。Swift类没有静态变量,但结构和枚举有

struct Static {
    static var stream: XMPPStream?
}
如果愿意,您可以稍后在代码中初始化它

Static.stream = XMPPStream()
如果类需要静态变量,另一种方法是将结构嵌套在其中:

class RegularClass {

    struct Static {
        static var stream: XMPPStream?
    }

    //Other code
}
在其他地方,你可以像

RegularClass.Static.stream ...

这可能是目前Swift中针对单身人士的最佳方法。并不是说我完全纵容那件事

这并不完全准确。Swift类没有静态变量,但结构和枚举有

struct Static {
    static var stream: XMPPStream?
}
如果愿意,您可以稍后在代码中初始化它

Static.stream = XMPPStream()
如果类需要静态变量,另一种方法是将结构嵌套在其中:

class RegularClass {

    struct Static {
        static var stream: XMPPStream?
    }

    //Other code
}
在其他地方,你可以像

RegularClass.Static.stream ...

这可能是目前Swift中针对单身人士的最佳方法。并不是说我完全纵容那件事

这就是他们在链接中所做的吗?不。我认为这段代码是为了展示如何集成框架,而不是真正成为一个最好的实践示例。使用应用程序代理作为全局引用来粘贴东西是很恶心的。好的,谢谢。我现在理解了这个概念,只是想理解它的结构。因此,我创建了一个单独的文件,名为
Static.swift
,并将静态变量放在那里。然后我可以初始化它并以静态.stream的形式访问它,对吗?你可以这样做,是的。另一种方法(在添加静态类变量之前,解决方法可能是更好的术语)是创建嵌套在类内的结构。我会在我的答案中加上这个例子。这就是他们在链接中所做的吗?不。我认为这段代码是为了展示如何集成框架,而不是真正成为一个最好的实践示例。使用应用程序代理作为全局引用来粘贴东西是很恶心的。好的,谢谢。我现在理解了这个概念,只是想理解它的结构。因此,我创建了一个单独的文件,名为
Static.swift
,并将静态变量放在那里。然后我可以初始化它并以静态.stream的形式访问它,对吗?你可以这样做,是的。另一种方法(在添加静态类变量之前,解决方法可能是更好的术语)是创建嵌套在类内的结构。我会在我的答案中加上这个例子。这就是他们在链接中所做的吗?不。我认为这段代码是为了展示如何集成框架,而不是真正成为一个最好的实践示例。使用应用程序代理作为全局引用来粘贴东西是很恶心的。好的,谢谢。我现在理解了这个概念,只是想理解它的结构。因此,我创建了一个单独的文件,名为
Static.swift
,并将静态变量放在那里。然后我可以初始化它并以静态.stream的形式访问它,对吗?你可以这样做,是的。另一种方法(在添加静态类变量之前,解决方法可能是更好的术语)是创建嵌套在类内的结构。我会在我的答案中加上这个例子。这就是他们在链接中所做的吗?不。我认为这段代码是为了展示如何集成框架,而不是真正成为一个最好的实践示例。使用应用程序代理作为全局引用来粘贴东西是很恶心的。好的,谢谢。我现在理解了这个概念,只是想理解它的结构。因此,我创建了一个单独的文件,名为
Static.swift
,并将静态变量放在那里。然后我可以初始化它并以静态.stream的形式访问它,对吗?你可以这样做,是的。另一种方法(在添加静态类变量之前,解决方法可能是更好的术语)是创建嵌套在类内的结构。我会在我的答案中加上这个例子。