在我的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;
}

最佳答案

[self setDelegate:self.superview];

这就是问题。

您应该将ViewController设置为委托的引用。

例如,在ImageDemoGridViewCell中分配了ViewController之后,按如下所示设置委托。
ImageDemoGridViewCell *cell = [[ImageDemoGridViewCell alloc] initWith..];
cell.delegate = self;

然后将单元格作为子视图添加到ViewController的视图中。

10-07 19:13
查看更多