Iphone 如何从其他视图重新加载一个视图的表

Iphone 如何从其他视图重新加载一个视图的表,iphone,objective-c,uitableview,ios6,Iphone,Objective C,Uitableview,Ios6,我正在尝试从MySliderController.m重新加载MyView.m的表,但它没有重新加载。 我在MyView.m中声明了以下方法 -(void)updateData{ [self.itablview reloadData]; } 并通过下面的代码从MySliderController.m类调用该方法 DDMenuController *menuController = (DDMenuController*)((AppDelegate*)[[UIApplication

我正在尝试从MySliderController.m重新加载MyView.m的表,但它没有重新加载。 我在MyView.m中声明了以下方法

 -(void)updateData{
      [self.itablview reloadData];
 }
并通过下面的代码从MySliderController.m类调用该方法

 DDMenuController *menuController = (DDMenuController*)((AppDelegate*)[[UIApplication sharedApplication] delegate]).DDmenuController;
MyView *obj = [[MyView alloc]init];

if(indexPath.row == 3){
    [menuController showRootController:YES];
    [obj updateData];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    NSLog(@"%@", self.itableView);
}
该方法被调用,但即使我用下面的代码检查tableview是否存在,表也并没有重新加载

-(void)reloadtable:(id) sender{
    NSlog(@"%@",self.itableview)
    [self.itableView reloadData];
}
在控制台中我得到(null)

但当我在下面代码中签入时

 DDMenuController *menuController = (DDMenuController*)((AppDelegate*)[[UIApplication sharedApplication] delegate]).DDmenuController;
MyView *obj = [[MyView alloc]init];

if(indexPath.row == 3){
    [menuController showRootController:YES];
    [obj updateData];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    NSLog(@"%@", self.itableView);
}
我收到下面的消息。这意味着表存在

2013-06-29 19:31:48.673 slidingViews[7025:c07] <UITableView: 0x79d9400; frame = (0 0; 320 480); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x714e940>; layer = <CALayer: 0x714e3f0>; contentOffset: {0, 0}>

what can be the issue. Please check my code here 
https://github.com/kanwarpalSingh/mycode
2013-06-29 19:31:48.673滑动视图[7025:c07]
可能是什么问题。请在这里检查我的代码
https://github.com/kanwarpalSingh/mycode

您的问题是,当您实例化
MyView
时,实际上是在创建MyView控制器的新版本(但不可见),而不是您最初创建的
MyView
。有几种不同的方法来处理这个问题,而这实际上取决于什么对你最有效

一个示例是订阅来自MySliderControl的自定义通知,例如

MyView.m

- (void)viewDidLoad
{
 [[NSNotificationCenter defaultCenter] removeObserver:self];
 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateData:) name:@"updateDataOnMyView" object:nil];
}
MySliderControl.m

[[NSNotificationCenter defaultCenter] postNotificationName:@"updateDataOnMyView" object:nil];

如果不喜欢此设置,也可以使用委托方法。还有很多关于创建自己的代理的教程。祝你好运

MyView*obj=[[MyView alloc]init]
创建一个新实例,我想,您想加载
现有的
实例的表。这两个屏幕是不同的吗?如果是这样,只需在视图中执行即可…是。。您也可以在@AnoopVaidya.查看我的代码。。如果我试图重新加载现有实例表。那么y是接受DidSelectRowatineXpath吗?