¿Cómo crear un singleton UIView en swift?

Quiero evitar crear UIView como Esto:

let singleView = SingleView() 

Aquí es cómo creo un SingleTon:

 class SingleView:UIView { static let shanetworkingInstance = SingleView() private init() { super.init(frame:CGRectZero) } override init(frame:CGRect) { super.init(frame: frame) } requinetworking init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } } 

Sin embargo, comstackrá el éxito.

En primer lugar, una vista singleton es una mala idea, porque una instancia de UIView solo tendrá una superView , por ejemplo, será subView de una sola vista.

  • Si usa esto solo una vez, no hay beneficio de compartir la instancia.
  • Si lo usa en diferentes instancias de UIViewController , probablemente no se comporte como espera.

De todos modos, parece que ni siquiera quieres un singleton, lo cual es bueno.

Entonces, ¿qué hay de esto?

 class SingleView:UIView { init() { super.init(frame:CGRectZero) } override init(frame:CGRect) { super.init(frame: frame) } requinetworking init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } } 

Ahora puedes inicializar sin parameters en el constructor como siempre quisiste.

PS: tenga en count que los constructores en rápido siempre crean nuevas instancias (o ninguna en absoluto). Si desea utilizar un singleton, oculta los constructores y proporciona un método de fábrica (o un static let como lo hizo).