1
일부 입력 이벤트에 상대적으로 인스턴스 변수를 업데이트하기 위해 블록을 사용하려고했습니다. 구현 파일에서객관적인 C 블록과 터치 이벤트가있는 셀프 자동 제공 BAD_ACCESS
@interface ViewController : UIViewController{
CGPoint touchPoint;
void (^touchCallback)(NSSet* touches);
}
@property(readwrite) CGPoint touchPoint;
@end
: 내의 UIViewController 클래스에서
나는 몇 가지 있지만 시도
-(void)touchesBegin:(NSSet *)touches withEvent:(UIEvent *)event{
touchCallback(touches);
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
touchCallback(touches);
}
: 콜백 기능에
-(id) init{
if (self = [super init]){
touchCallback = ^(NSSet* set){
UITouch * touch= [set anyObject];
self.touchPoint = [touch locationInView:self.view];
};
}
return self;
}
내가 블록을 사용 자체 인스턴스를 사용할 때 BAD_ACCESS가 있습니다. 나는 문제가 어디 있는지 이해하지 못한다.
감사합니다 :) 블록 및 스택에 대한 자세한 문서를 찾았습니다. 이제 답장을 보내 주시면 감사하겠습니다. :) – yageek