Ios 在MMDROURCONTROLLER上传递数据
我正在我的应用程序中使用。当我想将数据从MMExampleLeftSideDrawerViewController传递到MMExampleCenterTableViewController时,我不能这样做 您可以在源代码中看到MMExampleLeftSideDrawerViewController和MMExampleCenterTableViewController类。 源代码: 我添加了以下代码: MMExampleCenterTableViewController.hIos 在MMDROURCONTROLLER上传递数据,ios,iphone,objective-c,uiviewcontroller,uinavigationcontroller,Ios,Iphone,Objective C,Uiviewcontroller,Uinavigationcontroller,我正在我的应用程序中使用。当我想将数据从MMExampleLeftSideDrawerViewController传递到MMExampleCenterTableViewController时,我不能这样做 您可以在源代码中看到MMExampleLeftSideDrawerViewController和MMExampleCenterTableViewController类。 源代码: 我添加了以下代码: MMExampleCenterTableViewController.h -(void)doS
-(void)doSomethingUseful:(NSString *)data;
MMExampleCenterTableViewController.m
-(void)doSomethingUseful:(NSString *)data
{
NSLog(@"dosometing useful %@",data);
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
MMExampleCenterTableViewController * mycenterController=(MMExampleCenterTableViewController *)self.mm_drawerController.centerViewController;
[mycenterController doSomethingUseful:@"mydata"];
//...........
}
MMExampleLeftSideDrawerViewController.m
-(void)doSomethingUseful:(NSString *)data
{
NSLog(@"dosometing useful %@",data);
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
MMExampleCenterTableViewController * mycenterController=(MMExampleCenterTableViewController *)self.mm_drawerController.centerViewController;
[mycenterController doSomethingUseful:@"mydata"];
//...........
}
当在MMExampleLeftSideDrawerViewController上单击tableview时,我有一个问题,您可以在源代码中看到
问题日志为:
“NSInvalidArgumentException”,原因:“-[MMNavigationController DoSomethingSuve:]:发送到实例的选择器无法识别
因此它不是同一个对象的类。(MMExampleCenterTableViewController*myCenter控制器=(MMExampleCenterTableViewController*)self.mm\u抽屉控制器.centerViewController;
)
如何将数据发送到MMExampleCenterTableViewController 它看起来像self.mm\u drawerController.centerViewController是一个导航控制器。您想要的可能是它的topViewController,请尝试以下操作:
MMExampleCenterTableViewController * mycenterController= [(MMNavigationController *)self.mm_drawerController.centerViewController topViewController];
谢谢@rdelmar。它运行得很好。但您如何理解topviewController?哪种情况我们能理解?@Erhandmirci,我不确定我是否理解你的问题。topViewController是UINavigationController的属性,返回堆栈顶部的控制器。如果堆栈上只有一个控制器,它将是导航控制器的根视图控制器。@好的,请仔细阅读我的问题。我说我有问题;)