【问题标题】:How to build a iOS Master-Detail application with 2 UITableViewControllers?如何使用 2 UITableViewController 构建 iOS Master-Detail 应用程序?
【发布时间】:2012-11-30 22:16:09
【问题描述】:

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

【问题讨论】:

    标签: ios ipad uitableview master-detail


    【解决方案1】:

    您可以在主视图控制器中创建一个变量来访问详细视图控制器。然后,在主视图控制器的 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]

    【讨论】:

    • 那行不通。我正在运行两个 UITableViewControllers,而不是 UIViewControllers
    • 只需将: UIViewController 更改为: TableViewController
    • 其实试试把@property (weak, nonatomic) DetailViewController *detailViewController;改成@property (strong, nonatomic) DetailViewController *detailViewController;
    猜你喜欢
    • 2017-07-13
    • 2012-11-30
    • 2013-01-07
    • 1970-01-01
    • 2012-05-16
    • 2013-04-08
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    相关资源
    最近更新 更多