2

UITableViewコントローラーをマスターとディテールの両方として持つマスター/ディテール アプリケーションを作成しようとしています。私がする必要があるのは、行が選択されたときに8つのデータ文字列を詳細に渡すことです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 に答える