Extendiendo la plantilla de utilidad
-
03-07-2019 - |
Pregunta
Extendiendo la plantilla de utilidad
Estoy trabajando con la plantilla de Xcode Utility (Mainside / Flipside) y necesito agregar una nueva pantalla. He añadido:
docView.xib (copy of FlipsideView.xib)
docView.m
docView.h
docViewController.m
docViewController.h
En rootViewController.h agregué:
UINavigationBar *docNavigationBar;
docViewController *docViewController;
@property (nonatomic, retain) UINavigationBar *docNavigationBar;
@property (nonatomic, retain) docViewController *docViewController;
En rootViewController.m, he sintetizado las adiciones:
@synthesize docNavigationBar;
@synthesize docViewController;
Importe mi .h a rootViewController.m:
#import "docViewController.h"
Cuando intento compilar, emito un error con:
RootViewController.m:22: error: syntax error before 'docViewController'
Advertencias:
RootViewController.m:160: warning: property 'docViewController' requires method '-docViewController' to be defined - use @synthesize, @dynamic or provide a method implementation
RootViewController.m: 160: advertencia: la propiedad 'docViewController' requiere que se defina el método 'setDocViewController:': use @synthesize, @dynamic o proporcione una implementación del método
¿Qué me he perdido?
Solución
En realidad, creo que pretendía haber puesto docViewController (es el nuevo controlador de vista, ¿no?). En cualquier caso, si esto es lo que quería decir, y no FlipsideViewController como dice Eric, entonces su problema es que usted lo nombró igual que la propiedad. Mala idea. La convención normal del objetivo-C es escribir en mayúsculas la primera letra de los nombres de tus clases, luego en minúsculas cuando las uses como propiedades, etc.
docViewController *docViewController;
debería ser:
DocViewController *docViewController;
Funcionará mucho mejor de esa manera :)
Otros consejos
En rootViewController.h, se parece a su línea de declaración:
docViewController *docViewController;
Debería ser:
FlipsideViewController *docViewController