【问题标题】:get NSDate into titleForHeaderInSection from another ViewController从另一个 ViewController 获取 NSDate 到 titleForHeaderInSection
【发布时间】:2012-01-05 17:19:16
【问题描述】:

我有两个视图,第一个是带有日历的,第二个是带有 tableView 的 UIView; 我正在尝试从 firstView 中显示选定的日期。设法在我的 secondView 的 ViewDidLoad 方法中获取所选日期。

如何将我的NSDate 添加到我的- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section 方法中?

【问题讨论】:

  • 我认为您需要在 nextview 中创建变量并将其设置为表格视图的标题。

标签: iphone uitableview uiviewcontroller ios5 tableview


【解决方案1】:

在 TableViewController 上声明一个 @property (nonatomic, retain) NSDate *displayDate;(或使用 ARC 时使用 strong 而不是 retain)(不要忘记合成)。然后第一个视图可以设置TableViewController的属性,例如:

MyTableViewController *mtvc = [[MyTableViewController alloc] initWithStyle:UITableViewStyleGrouped];
mtvc.displayDate = selectedDate;
...

然后您可以使用 self.displayDate 从 TableViewController 中访问日期,例如在您的 titleForHeaderInSection 中。

【讨论】:

  • 但是我的 ViewController 我有表 View 它的 UIView 控制器
  • 基本上是一样的。在某个地方你必须有一个UITableViewDataSource,该类获取属性并获取 NSDate 传递。
  • @interface secondView : UIViewController <UITableViewDataSource, UITableViewDelegate> 这是我的第二个视图控制器的标题行
  • 所以视图控制器是数据源。然后你可以再次在你的 UIViewController 中创建属性。
  • 就像在帖子中一样,将@property 放入您的UIView 的.h 文件中,将@synthesize displayDate; 放入.m 文件中。无论您的第一个视图在何处创建secondView 的实例,请填写displayDate 属性,如代码所示。您的secondView 现在可以在课堂上的任何地方使用self.displayDate 来访问日期。在secondViewdealloc 方法中添加self.displayDate = nil 以避免内存泄漏。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-16
  • 1970-01-01
  • 2021-03-06
  • 2018-06-04
  • 2014-10-18
相关资源
最近更新 更多