我正在尝试一些东西,因为我正在学习@property和@synthesize。我认为@property创建了实例变量并@synthesize为其创建了 getter 和 setter 方法。
#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并且-(void) setX:(int)x必须在接口文件中声明?