我正在尝试一些东西,因为我正在学习@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
必须在接口文件中声明?