在使用导航栏模版编写程序的时候,会遇到需要将一些数据从当前视图传到下一个视图的情况。这时首先只需要在子视图的头文件里面定义好要传的变量名,然后在父视图中申明一个子视图的对象,并对该对象进行赋值就可以了。举例说明:
第一步,在子视图控制器的"AddViewController.h"中先申明要传递的变量:
@interface AddViewController : UIViewController <UITableViewDelegate,UITableViewDataSource,UIActionSheetDelegate>{
NSMutableArray *Datevalues; NSMutableArray *Othervalues; NSString *str; NSMutableArray *Datetimevalues; }
第二步,在父视图控制器的RootViewController.m文件中的表视图选择行事件中,申明一个子视图的对象,并对该对象进行赋值:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexpath{ //表选择行后响应事件
AddViewController *targetViewController =[[AddViewController alloc]initWithNibName:@"AddViewController" bundle:nil]; targetViewController.str=[list objectAtIndex:indexpath.row]; targetViewController.Datevalues=[[NSMutableArray alloc]initWithObjects:@"2011/01/27 10:20",@"2011/01/27 15:40",nil]; targetViewController.Datetimevalues=[[NSMutableArray alloc]initWithObjects:@"2011-01-27",@"2011- 01-27",@"10:20",@"15:40",nil]; targetViewController.Othervalues=[[NSMutableArray alloc]initWithObjects:@"家庭",@"高",@"不重 复",@"无",@"不提醒",@"无",nil];
[self.navigationController pushViewController:targetViewController animated:YES]; [targetViewController release];
} |