ResourcesTableViewControllerという名前のクラスにTableViewControllerを作成しています。私は次のクラスを作成しています:
ViewController.h:
@interface ViewController : UIViewController {
ResourcesTableViewController *resourceTableViewController;
ViewController.m:
resourceTableViewController = [[ResourcesTableViewController alloc] initWithStyle:UITableViewStylePlain];
[resourceTableViewController setTableViewObject:localObject];
今、私はそれで作業することができ、私は電話をかけることができます
NSLog(@"%@ %@",resourceTableViewController,[resourceTableViewController tableViewObject]);
ViewController.mのいくつかの部分で(予想どおり)同じ出力
<ResourcesTableViewController: 0x749f1c0> tableViewObjectContent
。新しいTableViewをオンにするために、ストーリーボードに新しいビューへのポップオーバー付きのボタンを作成しました(トリガーされたセグエとして)。ただし、ボタンが押されてビューが表示されるとすぐに、新しいインスタンスが作成されます。不思議なことに、私は自分のクラスResourcesTableViewControllerのviewDidLoadを入れました:
NSLog(@"viewDidLoad: %@: %@", self, self.tableViewObject);
そしてそれは戻ってきています
<ResourcesTableViewController: 0x74bbcd0>: (null)
。別のメモリアドレス、別のインスタンス。以前に使用したインスタンスではなく、そのtableViewOjectを指定したインスタンスでもありません。作成して操作したresourceTableViewControllerに属するインスタンスからビューを呼び出すにはどうすればよいですか?オブジェクトresourceTableViewControllerと通信することで、その「古い」インスタンスにアクセスできますが、作成されたビューは、最初のオブジェクトに与えたオブジェクトを確実に利用しない、そのタイプの別のビューです。