2

我正在尝试创建一个主从应用程序,其中一个UITableView控制器作为主控和细节。我需要做的是在选择行时将 8 个数据字符串传递给 detail UITableViewController。实现这一目标的最佳方法是什么?我计划将细节UITableViewController作为静态单元格,而不是动态的。

4

1 回答 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 回答