【发布时间】:2015-04-10 12:38:03
【问题描述】:
我希望有一个具有属性的类或结构(没关系),其中所有内容都只能在应用程序中初始化一次。任何修改类或其属性的尝试都将失败或不可能。
这可能吗?
到目前为止,我已经想出了这个:
public struct ScreenInfo
{
static var scaleFactor:Int = 0
public init(initialScaleFactor:Int)
{
if (ScreenInfo.scaleFactor == 0) {
ScreenInfo.scaleFactor = initialScaleFactor
}
}
public static func getScaleFactor()
-> Int
{
return scaleFactor
}
}
let si1:ScreenInfo = ScreenInfo(initialScaleFactor:11)
ScreenInfo.getScaleFactor() // = 11
let si2:ScreenInfo = ScreenInfo(initialScaleFactor:22)
ScreenInfo.getScaleFactor() // = 11
【问题讨论】:
-
尝试使用单例模式
标签: class swift struct static singleton