Проблема вызова пользовательского метода делегата на iOS - PullRequest
1 голос
/ 06 января 2012

В моем приложении для iPhone ...

Не удалось вызвать метод делегата ...

Вот мой код

Я создал простой делегат в одном классе...

@protocol imagecelldelegate

-(BOOL) isIntersects:(CGRect)lastTouch;

@end

@interface ImageDemoGridViewCell : AQGridViewCell
{
    id<imagecelldelegate> delegate; 
}

@property (nonatomic,retain) id delegate;

@end

Теперь я установил делегат в реализации этого класса и вызвал метод делегата.

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self setDelegate:self.superview];

    [delegate isIntersects:originalSelf];
     //Getting error at this point...   

}

После этого я реализовал метод в своем классеустановить делегата ..

@interface ViewController : UIViewController<imagecelldelegate>
{

и реализовать метод в этом классе ....

-(BOOL) isIntersects:(CGRect)lastTouch
{

    NSLog(@"Delegate Yippee");

    return YES;
}

1 Ответ

5 голосов
/ 06 января 2012
[self setDelegate:self.superview];

Это проблема.

Вы должны установить ViewController как ссылку для делегата.

Например, после того, как вы выделили ImageDemoGridViewCell in ViewController, установите делегата следующим образом.

ImageDemoGridViewCell *cell = [[ImageDemoGridViewCell alloc] initWith..];
cell.delegate = self;

Затем добавьте ячейку как подпредставление к представлению ViewController.

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