// 9.1.h未完全執行(Xcode的錯誤?)
#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
在最後@end
線時,Xcode告訴我的實現是不完整的。該代碼仍然按預期工作,但我是新手,擔心我錯過了一些東西。據我所知,它是完整的。有時候我覺得Xcode會掛在過去的錯誤上,但也許我只是失去了主意!
謝謝! -Andrew
難道是因爲真正的參數沒有在你的界面'有一個名字 - (無效)setReal:(雙)andImaginary:(雙)B;' – jjwchoy 2011-05-18 18:05:38
肯尼已經回答了這個問題,但我只是想要指出的是從一個像-add: – 2011-05-18 18:05:43
這樣的方法返回一個自動釋放對象是一種慣例,對於像這樣的Value類型,將它們設置爲不可變的是一種很好的做法,即在構造函數中設置實部和虛部以及不要提供任何方法來改變它們。您是否有特定的需求來修改一旦創建的複雜實例? – jjwchoy 2011-05-18 18:09:53