我正在尝试创建一个主从应用程序,其中一个UITableView
控制器作为主控和细节。我需要做的是在选择行时将 8 个数据字符串传递给 detail UITableViewController
。实现这一目标的最佳方法是什么?我计划将细节UITableViewController
作为静态单元格,而不是动态的。
问问题
1094 次
1 回答
0
您可以在主视图控制器中创建一个变量来访问详细视图控制器。然后,在主视图控制器的 viewDidLoad 中,您可以设置此变量,因此从此时起,self.detailViewController
主视图控制器中的所有调用都将发送到细节视图控制器。示例代码:
在 MasterViewController.h 中:
@class DetailViewController // do not use include here to avoid reference cycles, just identify DetailViewController as a class
@interface MasterViewController : UITableViewController
// in the interface, declare property to access detail view controller
@property (strong, nonatomic) DetailViewController *detailViewController;
@end
在 MasterViewController.m 中:
#include "DetailViewController.h"
// in the implementation, synthesize
@interface DetailViewController : UITableViewController
@synthesize DetailViewController;
// when the view loads
- (void)viewDidLoad {
// call super method
[super viewDidLoad];
// if you used XCode's built-in Matser/Detail application, this will set detailViewController to the detail view controller
self.detailViewController = (ITLDetailViewController *)[[self.splitViewController.viewControllers lastObject] topViewController];
}
这样,当您在主视图控制器代码中时,您可以调用self.detailViewController.someProperty
或[self.detailViewController someMethod]
.
于 2012-12-13T04:33:02.927 回答