Tengo dos subclases, una que tiene mucha personalización, la llamaremos Foo, y otra subclase que solo necesita 1 método anulado, y doesn ' Necesitamos cualquier variable adicional, lo llamaremos Bar.Objective-C múltiples definiciones de clase en una .h y .m
La barra será una de las variables de Foo, así que para evitar tener 2 archivos más con los que trabajar (.m y .h para Bar) me gustaría conectar e implementar Bar en los archivos .h y .m de Foo .
Mi mejor esfuerzo me da varios errores de compilación.
El archivo .h se parece a:
#import <UIKit/UIKit.h>
@interface Foo : FooSuperClass {
Bar *barVariable;
}
@property (nonatomic, retain) Bar *barVariable;
-(void) fooMethod;
@end
@interface Bar : BarSuperClass {
}
@end
El archivo .m parece:
#import "Foo.h"
@implementation Foo
@synthesize barVariable;
-(void) fooMethod{
//do foo related things
}
@end
@implementation Bar
- (void)barSuperClassMethodIWantToOverride{
}
@end
Soy consciente de que este tipo de cosas en general, sería mal visto, pero siento que es apropiado en mi situación. El primer error que obtengo es "especificador-calificador-lista esperado antes de la barra".
Qué he hecho mal, estoy bastante seguro de que es posible tener varias declaraciones/definiciones en un solo archivo.
A menudo es mejor utilizar la directiva '@ class'. Por ejemplo, ¿qué sucede si luego tiene una variable de instancia de tipo 'Foo' declarada en' Bar'? –