// 9.1.haplicación incompleta (Xcode error?)
#import <Foundation/Foundation.h>
@interface Complex : NSObject
{
double real;
double imaginary;
}
@property double real, imaginary;
-(void) print;
-(void) setReal: (double) andImaginary: (double) b;
-(Complex *) add: (Complex *) f;
@end
#import "9.1.h"
@implementation Complex
@synthesize real, imaginary;
-(void) print
{
NSLog(@ "%g + %gi ", real, imaginary);
}
-(void) setReal: (double) a andImaginary: (double) b
{
real = a;
imaginary = b;
}
-(Complex *) add: (Complex *) f
{
Complex *result = [[Complex alloc] init];
[result setReal: real + [f real] andImaginary: imaginary + [f imaginary]];
return result;
}
@end
En la última línea @end
, Xcode me está diciendo la implementación es incompleta. El código sigue funcionando como se esperaba, pero soy nuevo en esto y estoy preocupado de haberme perdido algo. Está completo por lo que puedo decir. A veces siento que Xcode se aferra a errores pasados, ¡pero tal vez estoy perdiendo la cabeza!
Gracias! -Andrew
Podría ser porque el parámetro real no tiene un nombre en la interfaz de '- (void) setReal: (doble) andImaginary: (doble) b;' – jjwchoy
Kenny respondió a la pregunta ya, pero yo sólo quería señalar que es una convención devolver un objeto liberado automáticamente a partir de un método como su -add: –
Otro comentario, con tipos de valores como este, es una buena práctica hacerlos inmutables, es decir, establecer los componentes reales e imaginarios en el constructor y no proporciona ningún medio para cambiarlos. ¿Tiene una necesidad específica de modificar instancias de Complex una vez creada? – jjwchoy