我试图在委托方法中触发自定义委托方法 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath . 一切看起来都很好,除了我从未达到我的自定义委托方法,应该通过点击一行来触发 . 这是我的授权实施:
@class SettingsList;
@protocol SettingsListDelegate
- (void) retrieveSettings:(SettingsList*)tableController Nazov:(NSString*)Nazov;
@end
@interface SettingsList : UITableViewController {
id delegate;
}
@property (nonatomic, assign) id delegate;
@end
@synthesize delegate;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *Nazov = [NSString stringWithString:[[self displayedObjects] objectAtIndex:indexPath.row]];
NSLog(@"Vybral som %@", Nazov);
[delegate retrieveSettings:self Nazov:Nazov];
}
委托的属性定义是正确的,但由于<>它作为标记,因此在此网站上不可见 .
在第二堂课就是这样
@interface ShakeControl : UIViewController
- (void) retrieveSettings:(SettingsList*)tableController Nazov:(NSString*)Nazov{
}
但在这种情况下永远不会达到它 . 不知道出了什么问题,因为之前多次委托使用并且工作正常,现在已经坚持了好几个小时...任何帮助,将不胜感激..谢谢
1 回答
你应该这样做:在 Headers 中:
在代码中:
在另一个类 - 添加到定义: