好的,我已经为此工作了几个小时,并认为是时候伸出援手了。我第一次在一个故事板上使用多个 tableviews (2)。我使用自己的视图控制器(主视图控制器)设置故事板。我委托给主视图控制器的第一个表作为通用模式。对于第二个表视图,我设置了一个单独的类作为委托,并委托给表视图和数据源。
事情看起来不错,每个 tableview 加载并显示正确的数据等。到目前为止一切都很好。
这是第二个表视图的问题 - 外部委托的表视图,我想在通过以下方式选择一行时采取行动: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath blah,blah,废话。
所需的操作是启动到连接到“主视图控制器”的新视图控制器的 segue。我在主视图控制器中有一个选择器,它具有执行 segue 操作(否则有效)
我不知道如何建立从代理到主视图控制器的连接,所以我可以调用正确的选择器,然后启动segue。通常在segues之间我使用segue.parent..segue.destination....等。它们在这种情况下不起作用。我无法从委托类中转义,因为转义未连接到委托。
我已经尝试过这种方法,但它不起作用:StartViewController:
VisitListDelegate = [[VisitsMainPageDelegate alloc] init];
[self.iboVisitsTableView setDelegate:self.VisitListDelegate];
[self.iboVisitsTableView setDataSource:self.VisitListDelegate];
LocalVisits *LV = [[LocalVisits alloc] init]; //datasource
VisitListDelegate.visits = [LV getLocalVisits]; //sets variable in delagate
名为 VisitsMainPageDelegate 的委托类
#import <UIKit/UIKit.h>
@class StartViewController;
@interface VisitsMainPageDelegate : UIViewController
<UITableViewDelegate,UITableViewDataSource> {
StartViewController *sourceParent;
}
@property (nonatomic,retain) StartViewController *sourceParent;
@property (nonatomic,strong) NSMutableArray *visits;
@end
然后尝试像这样引用它:
[sourceParent jumpToVistDetailsForThisVisit:@"test"];
我没有收到错误,但它不起作用。
对解决此问题的任何帮助将不胜感激。
谢谢!