0

当我试图获得一个人触摸屏幕的点时,我的 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 方法无效。

4

0 回答 0