Similar a este question, pero estoy buscando una solución genérica o un patrón o marco de diseño.Patrón de diseño para la administración del estado de los controles UI en iOS
P. ¿Cómo agregar la administración de estado en todos los controles de la interfaz de usuario en mi aplicación de iOS automáticamente sin la necesidad de reescribir la clase de controles existente?
Ejemplo:
e.g. Cuando hago clic en UIButton
, creará una nueva UIWebView
mostrando la página de inicio de Google. Eso es fácil, pero surgen problemas cuando el usuario a veces hace clic en el botón tan solo demasiado rápido, por lo que se mostrará dos vistas web.
Para resolver esta pregunta, necesitaría hacer una clase singleton que contenga la vista web, y tener una variable de estado isOpended
y si es verdadera, reutilizar la vista web existente en lugar de crear una nueva.
Pero el problema es: si también quiero este comportamiento en otros controles, entonces tendría que crear muchas clases de singleton ... Solo estoy pensando si hay una mejor manera de manejar esto sin que lo nuevo se reinvente la rueda.
Gracias.
No voy a ofrecer una respuesta porque tienen razón, debe abordar este problema de manera diferente. Para el registro, una forma muy fácil de hacer esto sería escribir una categoría para UIControl que utiliza referencias asociativas para agregar una propiedad. No puedo estar seguro si puede usar una referencia asociativa con un objeto no, pero una subclase NSObject apropiada adecuadamente typedef'd lograría el mismo fin. – Swizzlr