关于ios:如何在Swift中实现Singleton类

How to Implement Singleton class in Swift

本问题已经有最佳答案,请猛点这里访问。

我是Swift编程新手,请告诉我如何用代码在Swift中实现singleton类。

在Obj-C中,我知道

1
2
3
4
5
6
7
8
9
+ (id)sharedManager {
   static MediaModel *sharedMyManager = nil;
   static dispatch_once_t onceToken;

   dispatch_once(&onceToken, ^{
      sharedMyManager = [[self alloc] init];
   });
   return sharedMyManager;
}

它怎么用的很快


它在swift中非常简单:

1
2
3
class YourClass {
    static let sharedInstance = YourClass()
}

并使用它:

1
YourClass.sharedInstance


斯威夫特比OBJ-C更聪明。你可以这样申报;

1
2
3
4
5
6
7
8
final class MediaModel: NSObject {

    static let sharedMyManager = MediaModel()

    private override init() {
        super.init()
    }
}

然后叫它;

1
let sharedManager = MediaModel.sharedMyManager