我正在嘗試一些東西,因爲我正在學習有關@property
和@synthesize
。我認爲@property
創建了實例變量,並且@synthesize
爲它創建了getter和setter方法。使用@property和@synthesize創建存取方法和ivars的詳細信息
#import <Foundation/Foundation.h>
@interface XYPoint : NSObject
@property int x, y;
-(void) setX: (int) xVar andY: (int) yVar;
@end
我沒有在我的實現文件中合成x
和y
,但我不知道爲什麼我被允許做兩件事:
-(void) setX:(int)x {
x = x;
}
-(void) setY:(int)y {
y = y;
}
但有大約未經宣佈的標識符x
和y
錯誤消息當我這樣做:
-(void) setX:(int)xVar andY:(int)yVar {
x = xVar;
y = yVar;
}
而且,爲什麼沒有-(void) setY:(int)y
和必須在接口文件中聲明?