我必须调用视图控制器中存在的方法,该方法的引用在视图中可用。当我尝试像任何其他方法一样调用该方法时,由于某种原因,iPhone只是忽略了这个调用。有人可以解释为什么会发生这种情况,我还可以如何调用这种方法?
在视图中我有这个方法:
-(void) touchesBegan :(NSSet *) touches withEvent:(UIEvent *)event{
NSArray* mySubViews = [self subviews];
for (UITouch *touch in touches) {
int i = 0;
for(; i<[mySubViews count]; i++){
if(CGRectContainsPoint([[mySubViews objectAtIndex:i] frame], [touch locationInView:self])){
break;
}
}
if(i<[mySubViews count]){
// viewController is the reference to the View Controller.
[viewController pointToSummary:[touch locationInView:self].y];
NSLog(@"Helloooooo");
break;
}
}
}
每当触发touches事件时,Hellooooo会在控制台中打印,但之前的方法会被忽略
答案 0 :(得分:0)
在视图中我有这个方法:
-(void) touchesBegan :(NSSet *) touches withEvent:(UIEvent *)event{
NSArray* mySubViews = [self subviews];
for (UITouch *touch in touches) {
int i = 0;
for(; i<[mySubViews count]; i++){
if(CGRectContainsPoint([[mySubViews objectAtIndex:i] frame], [touch locationInView:self])){
break;
}
}
if(i<[mySubViews count]){
// viewController is the reference to the View Controller.
[viewController pointToSummary:[touch locationInView:self].y];
NSLog(@"Helloooooo");
break;
}
}
}
每当触发touches事件时,Hellooooo会在控制台中打印,但之前的方法会被忽略
答案 1 :(得分:0)
我为视图创建了一个视图控制器,并允许视图控制器之间进行通信。也许这是MVC协议的一部分。
答案 2 :(得分:0)
检查viewController的值,以确保它不是nil,使用调试器或添加NSLog:
[viewController pointToSummary:[touch locationInView:self].y];
NSLog(@"viewController=%@", viewController);
NSLog(@"Helloooooo");