iphone - clase de constantes c objetivas
ios uiviewcontroller (2)
Pon constantes con las cosas que los usan. No cree un archivo global "todo constante". Esto hace que la reutilización de código sea un gran dolor de cabeza. Por ejemplo, si publica una notificación, necesita una cadena de nombre de notificación. Entonces pones eso en la clase que publica la notificación:
.h
extern NSString * const MYObjectDidSomethingNotification;
.m
NSString * const MYObjectDidSomethingNotification = @"MYObjectDidSomethingNotification";
Las constantes generalmente no son métodos o definiciones. Son solo globales constantes como los de arriba. Debe evitar #define siempre que sea posible, pero hay algunos lugares que es bastante útil (como los objetos UIColor
constantes, que de lo contrario es frustrante inicializar).
Pase un poco de tiempo en los archivos de encabezado de Apple para ver ejemplos. Busque en UIWindow.h, UITableViewCell.hy UITableView.h un par de buenos ejemplos de cómo se definen generalmente las constantes.
Tengo algunas constantes codificadas en algunas clases diferentes de viewController y NSObject. Uno de los muchachos en mi trabajo dijo que debería ponerlos en una clase propia (es decir, una clase de constantes)
Me pregunto cuáles serían los pro y los contras de este tipo de diseño y, si es algo que debería hacerse, cualquier aclaración sobre cómo hacerlo sería genial.
por ejemplo, ¿acabo de crear una nueva clase NSObject y tengo un montón de #defines en ella? luego, cuando necesito usarlos ¿simplemente subclases mi clase de constantes y uso las constantes dentro de esta clase como lo haría con cualquier otro método o variable de otra clase?
es decir
myclass.theConstant
cualquier ayuda sería muy apreciada.
Si solo tienes #defines
, no es necesario que estén en ninguna clase, simplemente pégalos en su propio archivo .h.