当我试图获得一个人触摸屏幕的点时,我的 getter 方法遇到了问题。
在我的 .h 文件中,我有属性
@property(nonatomic, assign)CGPoint touchLocation;
在我的 .m 文件中,我有以下代码
@synthesize touchLocation=_touchLocation;
-(void)userTouchLocation
{
recognizer=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(locationPressedCoordinates:)];
[recognizer setNumberOfTapsRequired:1];
[self.view addGestureRecognizer:recognizer];
}
-(void)locationPressedCoordinates:(UITapGestureRecognizer *)rec
{
CGPoint loc= [rec locationInView:rec.view];
[self setTouchLocation:loc];
}
-(void)setTouchLocation:(CGPoint)touchLocation
{
_touchLocation=touchLocation;
}
-(CGPoint)touchLocation
{
return _touchLocation;
}
但是,当我尝试通过执行 CGPoint foo=[self touchLocation]; 之类的操作来获取位置时 它返回点 (0,0)。如果我使用 NSLog 语句来调试我的程序,我的 setter 方法有效,但 getter 方法无效。