Swift-单例

  • 继承自 NSObject
@objcMembers
public class Singleton: NSObject {
    public static let shared = Singleton()
    
    private override init() { }
    
    public override func copy() -> Any {
        return self
    }
    
    public override func mutableCopy() -> Any {
        return self
    }
    
    // Optional
    public func reset() {
        
    }
}
  • 不继承自 NSObject
class Singleton {
    
    static let shared = Singleton()
    
    // Make sure the class has only one instance
    // Should not init outside
    private init() {}
    
    // Optional
    func reset() {
        // Reset all properties to default value
    }
}

你可能感兴趣的:(Swift-单例)