我有一个UITableView
,当我选择一行时,我想转到另一个视图,在该视图中显示坦克的详细信息...发生了转场,但代表没有发送对象等...我想我让我的内裤在声明/合成和实施代表的地方扭曲等等......
这是我在头文件中声明委托的地方UITableViewController
:
@class iTanksV2ListViewController;
@protocol iTanksV2ListViewControllerDelegate
- (void) iTanksListViewController:(iTanksV2ListViewController *) sender choseTank:(tank *)tank;
@end
@interface iTanksV2ListViewController : UITableViewController
@property (weak, nonatomic) id <iTanksV2ListViewControllerDelegate> delegate;
@end
这就是我在UITableViewControllers
m 文件中的内容:
@implementation iTanksV2ListViewController
@synthesize delegate = _delegate;
- (void)viewDidLoad
{
[super viewDidLoad];
self.tankTableView.delegate = self;
self.tankTableView.dataSource = self;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
self.selectedTank = [self.tanks objectAtIndex:indexPath.row];
[self.delegate iTanksListViewController:self choseTank:self.selectedTank];
}
...然后这是我在DetailViewController
实现文件中为委托提供的代码...
@interface tankDetailViewController () <iTanksV2ListViewControllerDelegate>
@end
-(void)iTanksListViewController:(iTanksV2ListViewController *)sender choseTank:(id)tank
{
self.tankToShow = tank;
}
声明了所有其他变量等,我将它们排除在外,希望它能让事情更清楚 - 代码编译,segue 发生但委托似乎没有做任何事情!!!