2012-01-06 114 views
1

在我的iPhone应用程序......Proble调用自定义委托方法

无法调用委托方法....

这里是我的代码

我创建了一个简单的委托在一个类中...

@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; 
} 
+0

您是否收到任何错误?或“代表Yippee”未记录? – 2012-01-06 05:39:53

+0

当我打电话给那条线的方法得到错误.. – 2012-01-06 05:42:12

回答

5
[self setDelegate:self.superview]; 

这是问题所在。您应该将ViewController设置为代表的参考。

例如,在ViewController中分配ImageDemoGridViewCell之后,请按如下所示设置委托。

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

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

+0

感谢Adhira其作品..非常多..... – 2012-01-06 05:46:19

+0

不客气 – Ilanchezhian 2012-01-09 05:27:33