我想將數據傳遞給childviewcontroller。 我有一個視圖控制器有兩個按鈕和一個視圖。按下按鈕定義顯示的視圖。 具體的情況是我想顯示一個項目列表。第一種方式(按鈕)在列表中,第二種方式在地圖視圖中。顯示我需要將某個類別傳遞給孩子的項目。addchildviewcontroller傳遞數據
在我的viewDidLoad中添加兩個viewcontrollers與addchildviewcontroller en我的視圖設置爲listviewcontroller的視圖。
-(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;
}
Acoording的按鈕按下我改變我的看法
- (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中的類別始終爲空。 我還試圖通過訪問對childviewcontroller的parentviewcontroller拿到類別,
NSLog(@"::%@", ((ItemListHeaderViewController *)self.parentViewController).category);
,但這也導致空。
我不知道我在做什麼錯,或者我正在理解整個遏制故事錯了......我是新來的ios開發,所以如果問題是愚蠢的,所以不要開槍。 :)這也是我的第一個關於堆棧溢出的問題,所以如果我做錯了什麼,也不要再拍。
幫助,將不勝感激。提前致謝。 親切的問候......
如何在視圖控制器中聲明'category'變量? – tikhop 2012-08-15 10:30:03
「category」的屬性聲明是什麼?它(非原子,保留)? – 2012-08-15 11:49:41