Вызов метода в контроллере представления из представления - PullRequest
0 голосов
/ 31 марта 2010

Я должен вызвать метод, представленный в контроллере представления, ссылка на который доступна в представлении. Когда я пытаюсь вызвать метод, как и любой другой метод, по какой-то причине 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;
    }
}

}

Всякий раз, когда вызывается событие касания, Hellooooo печатается в консоли, но метод до этого просто игнорируется

Ответы [ 3 ]

0 голосов
/ 01 апреля 2010

Я создал контроллер представления для представления и разрешил связь между контроллерами представления. Возможно, это часть протокола MVC.

0 голосов
/ 01 апреля 2010

Проверьте значение viewController в том месте, где оно используется, чтобы убедиться, что оно не равно nil, используйте отладчик или добавьте NSLog:

[viewController pointToSummary:[touch locationInView:self].y];
NSLog(@"viewController=%@", viewController);
NSLog(@"Helloooooo"); 
0 голосов
/ 31 марта 2010

В представлении у меня есть этот метод:

-(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;
    }
}

}

Всякий раз, когда вызывается событие касаний, Hellooooo печатается в консоли, но метод до этого просто игнорируется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...