在ios6中将数据从详细信息传递到主数据

时间:2013-04-22 10:54:53

标签: xcode ios6 master detail

我正在使用xcode创建一个应用程序,我在浏览视图之间传递数据时遇到了麻烦 我想设置详细视图,日历的日期。然后,当我回到主视图时,我想在所选日期看到事件,但我不知道如何制作它。
你能帮助我吗?

2 个答案:

答案 0 :(得分:1)

这是你在两个班级之间进行交流的方式

ViewController *dvController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]];
// ViewController is controler where you want to send date from particular controler we are making object of ViewController where you want to send data
    dvController.selectedBirthdate = selectedbirthdate;
    dvController.selectedName = selectedname;
    //you are sending data in above two lines just imagine you are sending string




  [self.navigationController pushViewController:dvController animated:YES];
  //then pushviewcontroller and there you go
  [dvController release];

简单就是那个

还有另一种方法可以在两个类之间进行通信,即app委托制作你的应用委托的对象,然后将你想要的东西分配给app委托的特定变量,然后你可以在项目的任何地方使用该变量

像这样创建app委托对象

YourAppDelegate *appDelegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];
//and then access the variable by appDelegate.variable

如果您使用的是故事板,则可以使用下面的prepareForSegue

   - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:...]) {
        MyViewController *controller = (MyViewController *)segue.destinationViewController;
        controller.myProperty1 = ...;
        controller.myProperty2 = ...;
    }
}

答案 1 :(得分:0)

基本上有两种最常见的方法:

1)如果你在项目中使用故事板,请使用unwind segue。这种方法在这里得到了很好的讨论:

http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/SecondiOSAppTutorial/CreatingAddView/CreatingAddView.html

2)使用委托模式。当我开始学习授权时,我发现下面的教程非常有用:

http://www.roostersoftstudios.com/2011/04/12/simple-delegate-tutorial-for-ios-development/