如何将数据从一个视图控制器发送到另一个视图控制器[重复]

Posted

技术标签:

【中文标题】如何将数据从一个视图控制器发送到另一个视图控制器[重复]【英文标题】:how to send data from one view controller to another view controller [duplicate] 【发布时间】:2014-02-23 04:28:13 【问题描述】:

嗨,我是 ios 编程的新手,我正在开发一个日历应用程序,我在其中使用具有 5 个视图控制器的 tabbarcontroller。我的问题是,在第二个视图控制器中,我想更改在第一个视图控制器中显示的日期,我该怎么做。请帮忙....

我在 appdelegate 类中创建了一个属性

@property(nonatomic,assign)NSString *date;

然后在视图控制器和第二个视图控制器中都创建了一个 appdelegate 对象

AppDelegate *obj=[[AppDelegate alloc]init];
    obj.date=@"ABCDSE";

在第一个视图控制器中

 AppDelegate *obj=[[AppDelegate alloc]init];
    mylabel.text=obj.date;

【问题讨论】:

你应该像[[UIApplication sharedApplication]delegate]一样访问appdelegate,同时创建一个新的。 我试过了,但没有发生... 您不需要使用 appdelegate 在视图控制器之间传递数据。使用它们的属性 【参考方案1】:

您无需创建应用委托,而是获得对它的引用:

AppDelegate *ad = [[UIApplication sharedApplication]delegate];

然后你访问字符串:

mylabel.text = ad.date;

【讨论】:

【参考方案2】:

试试这个

FirstViewController

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

  NSString *strTemp = @"Pass string here";
  FirstViewController *firstView = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];

  firstView.Str = strTemp;

  [self.navigationController pushViewController:firstView  animated:YES];

SecondViewController.h

@interface SecondViewController: UIViewController
@property(nonatomic,retain) NSString *Str;
@end

看看一些视频教程

http://www.verious.com/tutorial/ios-5-passing-data-between-view-controllers/ http://www.verious.com/tutorial/iphone-development-tutorial-passing-data-to-another-view/

【讨论】:

以上是关于如何将数据从一个视图控制器发送到另一个视图控制器[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将数据从视图控制器发送到另一个

将数组从自定义单元格发送到另一个视图控制器

如何将params从其他视图模态窗体发送到另一个控制器

如何将 TableView 中的选定行(JSON)发送到另一个视图控制器?

如何将标签中的数据从表视图行操作发送到视图控制器?

将数据从 didSelectRowAtIndexPath 传递到另一个视图控制器 ios7