childviewcontroller にデータを渡そうとしています。2 つのボタンと 1 つのビューを備えたビュー コントローラーがあります。ボタンを押すと、表示されるビューが定義されます。具体的なケースは、アイテムのリストを表示したいです。最初の方法 (ボタン) はリストにあり、2 番目はマップビューにあります。アイテムを表示するには、カテゴリを子に渡す必要があります。
私のviewDidLoadでは、addchildviewcontrollerを使用して両方のビューコントローラーを追加し、ビューをリストビューコントローラーのビューに設定します。
-(void)viewDidLoad
{
[super viewDidLoad];
UIStoryboard* sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
ItemListViewController * itemListViewController = (ItemListViewController *)[sb instantiateViewControllerWithIdentifier:@"ItemList"];
itemListViewController.view.frame = detailView.bounds;
[self addChildViewController:itemListViewController];
[itemListViewController didMoveToParentViewController:self];
itemListViewController.category = category;
ItemListMapViewController * itemListMapViewController = (ItemListMapViewController *)[sb instantiateViewControllerWithIdentifier:@"ItemListMap"];
itemListMapViewController.view.frame = detailView.bounds;
[self addChildViewController:itemListMapViewController];
itemListMapViewController.category = category;
childControllers = [NSArray arrayWithObjects:itemListViewController, itemListMapViewController, nil];
[self.detailView addSubview:itemListViewController.view];
currentPage = 0;
}
押されたボタンに応じて、ビューを変更します
- (IBAction)buttonClicked:(id)sender
{
UIButton * button = sender;
UIViewController *source = (UIViewController *)[childControllers objectAtIndex:currentPage];
[source.view removeFromSuperview];
UIViewController *destination = (UIViewController *)[childControllers objectAtIndex:button.tag - 100];
[self.detailView addSubview:destination.view];
currentPage = button.tag - 100;
button = nil;
}
しかし、カテゴリを childviewcontrollers に渡しても何も起こりません。childcontrollers のカテゴリは常に null です。また、childviewcontrollerのparentviewcontrollerにアクセスしてカテゴリを取得しようとしましたが、
NSLog(@"::%@", ((ItemListHeaderViewController *)self.parentViewController).category);
しかし、これも null になります。
何が間違っているのかわからないか、封じ込めのストーリー全体を間違って理解しているのかもしれません... iOS開発は初めてなので、質問がばかげている場合は撃たないでください。:) これはスタック オーバーフローに関する私の最初の質問でもあります。
助けていただければ幸いです。前もって感謝します。敬具...