【发布时间】:2011-02-22 08:47:15
【问题描述】:
如果没有调用 Delegate 方法,那么需要检查所有内容以确保在 viewController 中引用了该委托?
【问题讨论】:
标签: iphone objective-c cocoa-touch ios4 delegates
如果没有调用 Delegate 方法,那么需要检查所有内容以确保在 viewController 中引用了该委托?
【问题讨论】:
标签: iphone objective-c cocoa-touch ios4 delegates
好吧,首先,您必须遵守标头中的协议:
@interface MyViewController : UIViewController <YOUR DELEGATE'S PROTOCOL HERE,
UITableViewDelegate>{
}
@end
无论如何,这是最常见的错误。
另外,请确保您正在设置您的委托。通常你可以这样做:
myObject.delegate = self;
虽然有些类在初始化时会这样做:
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"MY APP"<br> message:@"HELLO" <br> delegate:<em><b>self</b></em> <br> cancelButtonTitle:@"CLOSE" <br> otherButtonTitles:nil];
【讨论】:
如果委托方法没有在您期望的时候被调用,则可能是您实际上没有连接委托。这可以在代码中或在界面生成器中完成。例如,接口构建器中的UITableView 可以将其dataSource 和委托出口附加到目标,例如“文件的所有者”。
【讨论】: