Objective c 是否将变量传递给父视图?

Objective c 是否将变量传递给父视图?,objective-c,ios,cocoa-touch,uiviewcontroller,uitableview,Objective C,Ios,Cocoa Touch,Uiviewcontroller,Uitableview,我有一个UITableViewController,它推送一个UIViewController,我需要将两个NSDATE和一个BOOL从该子视图控制器传递回表视图控制器 我怎么能这样做?如果我不清楚或者你需要更多解释,请告诉我 非常感谢您的帮助。使用代理是将信息从一个控制器传递到另一个控制器的正确方式 通常,您要做的是在UITableViewController头中声明一个协议,实现它,然后使用委托初始化UIViewController 简而言之,您的UITableViewController.

我有一个UITableViewController,它推送一个UIViewController,我需要将两个NSDATE和一个BOOL从该子视图控制器传递回表视图控制器

我怎么能这样做?如果我不清楚或者你需要更多解释,请告诉我


非常感谢您的帮助。

使用代理是将信息从一个控制器传递到另一个控制器的正确方式

通常,您要做的是在
UITableViewController
头中声明一个协议,实现它,然后使用委托初始化
UIViewController

简而言之,您的
UITableViewController.h
文件应该有如下内容:

@protocol setDateDelegate <NSObject>
@required
- (void) setDateOne:(NSDate *)one dateTwo:(NSDate *)two;
@end
- (id)initWithDelegate:(NSObject *)myDelegate
{

    self = [super init];
    if (self) {
        self.delegate = myDelegate;
    }
    return self;
}
接下来,当您需要将日期传递给
UITableViewController
时,只需使用
[self.delegate setDateOne:one-dateTwo:two]

有更多的方法可以做到这一点,包括跳过自定义init方法,并在创建
UIViewController
后设置委托:

MyUIViewController *viewController = [[[MyUIViewController alloc] init] autorelease];
viewController.delegate = self;
...
这更像是个人喜好的风格


我可能把代码弄乱了(忘记了一些东西),因为我是在脑子里写的,但这应该足以让你开始了。

你应该发布你的具体问题。所以,这不是一个进行民意调查的合适场所,如果你知道这个问题已经有很多重复的地方,那么你需要明确说明什么是一个新问题的必要条件。我确实明确说明了我的问题以及我需要什么。我需要将我提到的一些变量,两个NSDATE和一个BOOL从推送的UIViewController传递到其父UITableViewController。然后我简单地继续解释说,基本上,请不要被已经有很多这样的问题所束缚,所以我说‘如果’你觉得已经有了一个有价值的答案,让我知道你觉得这是正确的方法(而不是重写),然后我将进一步阐述我如何无法让这个解决方案起作用。请原谅,我本不打算进行投票。代表设计模式是这种情况下的正确策略。好的,让我改变我的问题,因为人们似乎对我的问题反应不好。我可以问一下为什么我会收到这么多反对票吗?谢谢你的回答。马上就有问题了,尝试设置视图控制器(子)委托时没有发生,因为它没有委托属性,这可能是什么原因?没有固有的委托供您使用,您必须自己将其作为子视图控制器的属性。