2013-02-14 462 views
0

我正在使用Facebook API,並且當用戶選擇一個地方(CheckIn)時,我想打開另一個視圖並傳遞這個地方(FBGraphPlace),但在「SecondViewController」變量在執行「viewDidLoad」方法時爲null。 當用戶選擇的地方:iOS:在視圖控制器之間傳遞數據

if (secondViewController == nil) 
{ 
    SecondViewcontroller *secondViewcontroller = 
    [[SecondViewcontroller alloc] 
    initWithNibName:NSStringFromClass([SecondViewcontroller class]) 
    bundle:[NSBundle mainBundle]]; 

    self.secondViewcontroller = secondViewcontroller; 
} 

// How you reference your navigation controller will 
// probably be a little different 
UIBarButtonItem *newBackButton = [[UIBarButtonItem alloc] initWithTitle: @"Back" style: UIBarButtonItemStyleBordered target: nil action: nil]; 

[[self navigationItem] setBackBarButtonItem: newBackButton]; 

secondViewController.place = self.selectedPlace; 

[self.navigationController 
pushViewController:self.secondViewcontroller 
animated:YES]; 
+0

爲什麼你有這樣的:baladaViewController.place = self.selectedPlace;當你推secondViewController?不應該是secondViewController.place = self.selectedPlace? – rdelmar 2013-02-14 01:18:02

+0

對不起,錯了......編輯我的帖子。 – 2013-02-14 01:22:55

+0

你確定self.selectedPlace不是零嗎? – rdelmar 2013-02-14 01:24:23

回答

0

你應該先做pushViewController,然後分配的地方可變

+0

我改變了!但沒有工作 – 2013-02-14 01:23:21

+0

「if(secondViewController == nil)」,這個變量和裏面的if命令「secondViewController」變量不同,你重新定義了兩次變量 – dthien 2013-02-14 01:42:14

+0

而不是使用「secondViewController.place = self.selectedPlace;」,嘗試用「self.secondViewController.place = self.selectedPlace;」 – dthien 2013-02-14 01:44:48

相關問題