我只是从Udacity学习东西中读取代码.老师sharedInstance用一个struct包含在的实例变量class function
为什么我们不能简单地做一个static var?
class BugFactory() {
class func sharedInstance() -> BugFactory {
struct Singleton {
static var sharedInstance = BugFactory()
}
return Singleton.sharedInstance
}
}
Run Code Online (Sandbox Code Playgroud)
为什么不推荐:
class BugFactory() {
static var sharedInstance = BugFactory()
}
Run Code Online (Sandbox Code Playgroud)
实际上,由于swift版本的改进,建议使用你的第二个代码.你应该考虑更多的事情是使用声明你的单例对象static let并使初始化器私有化
class Bar{
private init(){
// initialization
}
static let shared = Bar()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
336 次 |
| 最近记录: |