看看这个:
https ://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaFundamentals/CommunicatingWithObjects/CommunicateWithObjects.html
有几种方法可以在视图控制器之间来回传递数据。
但老实说,代表真的是你真正需要的,听起来就像你目前的情况。看到这个->(在视图控制器之间传递数据)
话虽如此,如果您使用委托,以下是如何DateTableViewController.h
在顶部设置协议,如下所示:
@protocol DateTableViewControllerDelegate <NSObject>
- (void)userSelectedThisDate:(NSDate *)d;
end
把它和其他属性放在一起
@property (nonatomic, weak) id <DateTableViewControllerDelegate> delegate;
并附DateTableViewController.m
上寄回日期
[self.delegate userSelectedThisDate:withTheDateToSendBack];
并ServiceTableViewController.h
添加
#import "DateTableViewController.h"
@interface ServiceTableViewController : UIViewController <DateTableViewControllerDelegate>
既然你是UINavigationController
,当你要推到的时候,在某处ServiceTableViewController.m
添加这个DateTableViewController
DateTableViewController *vc = [[DateTableViewController alloc] init];
self.delegate = self;
[self.navigationController pushViewController:vc animated:YES];
最后将委托方法放入ServiceTableViewController.m
- (void)userSelectedThisDate:(NSDate *)d {
NSLog(@"%@", d); // this should show the returned date
}