在iOS上调用自定义委托方法的问题

Arp*_*ekh 1 delegates objective-c ios

在我的iPhone应用程序中......

无法调用委托方法...

这是我的代码

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

@protocol imagecelldelegate

-(BOOL) isIntersects:(CGRect)lastTouch;

@end

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

@property (nonatomic,retain) id delegate;

@end
Run Code Online (Sandbox Code Playgroud)

现在我在该类的实现中设置了委托,并调用了委托方法.

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

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

}
Run Code Online (Sandbox Code Playgroud)

之后我在类中设置了委托的方法.

@interface ViewController : UIViewController<imagecelldelegate>
{
Run Code Online (Sandbox Code Playgroud)

并在这个类中实现了该方法....

-(BOOL) isIntersects:(CGRect)lastTouch
{

    NSLog(@"Delegate Yippee");

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

Ila*_*ian 5

[self setDelegate:self.superview];
Run Code Online (Sandbox Code Playgroud)

这就是问题.

您应该将其设置ViewController为委托的参考.

例如,在分配了ImageDemoGridViewCellin后ViewController,按如下方式设置委托.

ImageDemoGridViewCell *cell = [[ImageDemoGridViewCell alloc] initWith..];
cell.delegate = self;
Run Code Online (Sandbox Code Playgroud)

然后将单元格作为子视图添加到ViewControllers视图中.