如何将视图2的值发送到视图1

问题描述:

我的问题是如何重新加载表视图如何将视图2的值发送到视图1

我有2个视图控制器。

在第一个Viewcontroller我有一个tableview。如果我在tableview中选择任何行,它将转到第二个viewcontroller。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; 
{ 
    NextPageController *nextView = [[NextPageController alloc] initWithNibName:@"NextPageView" bundle:nil]; 
    [self.navigationController presentModalViewController:nextView animated:YES]; 
    [nextView release]; 
} 

在第二视图控制器我有一个文本框。如果我在文本框中输入任何值,我需要将该值放入第一个viewcontroller tableview中。

任何人都可以帮助我吗?

在此先感谢。

给NextPageController协议和委托,就像这样:

@protocol (NextPageControllerDelegate) 
-(void)displayString:(NSString *)inputString; 
@end 

@interface FirstTableViewController : UITableViewController { 
    id<NextPageControllerDelegate> stringDelegate; 
} 

@property (nonatomic, assign) id<NextPageControllerDelegate> stringDelegate; 

,并在.m文件:

@implementation 
@synthesize stringDelegate; 

然后,当你分配NextPageViewController时,插入这个:

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; 
{ 
    NextPageController *nextView = [[NextPageController alloc] initWithNibName:@"NextPageView" bundle:nil]; 

    nextView.stringDelegate = self; 

    [self.navigationController presentModalViewController:nextView animated:YES]; 
    [nextView release]; 
} 

当然,你的表视图控制器必须符合NextPageControllerDelegate协议,并给予

-(void)displayString:(NSString *)inputString; 

后,当你在新思维的落实,并希望有表视图中显示该字符串,你可以这样做:

if(nil != self.stringDelegate) 
    [self.stringDelegate displayString:someString]; 

蚂蚁那么它的完成

+0

感谢它的工作完美 – Thukaram

创建全球NSMutableArray
存储并添加该NSMutableArray中的所有数据。
在一流的-(void) viewwillappear,叫[tablename reloadData];

+0

我需要在第一个视图控制器或第二个视图控制器中调用此函数 – Thukaram

+0

您正在显示表格的视图。 –

+0

对不起,这是行不通 – Thukaram

使全球字符串,

在secondViewController分配它,当你从secondViewController流行到FirstViewController,viewWillAppear中会调用。

化妆逻辑,它使用全局变量,然后重新装入表..

+0

可以ü请发送给我的示例代码 – Thukaram

你必须一个全局变量存储您在第二个视图中提交的文本的文本。

现在,当你回到以前的页面,在

- (void) viewWillAppear 
{ 
    [yourDataSourceArray addObject:appDelegate.yourGlobalString]; 
    [yourTableView reloadData]; 
} 

和是确保你的yourDataSourceArrayNSMutableArray

希望它可以帮助你。

您可以在第一个视图中为NSString创建属性,并在第二个视图中为第一个视图控制器(UITableViewController?)的实例创建一个属性。然后,在保存或弹出窗口或任何你在第二个视图控制器中进行的操作之后,您可以设置NSString的属性,弹出视图并在viewWillAppear中重新载入tableView。或者,您可以使用Lewen所述的代表团。