2013-02-14 6 views
0

Я использую API Facebook, и когда пользователь выбирает место (CheckIn), я хочу открыть другое представление и передать это место (FBGraphPlace), но в «SecondViewController» переменная имеет значение null, когда выполняется метод «viewDidLoad». Когда пользователь выбирает место: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

+0

Извините, поместите неправильно ... Отредактировано мое сообщение. –

+0

Вы уверены, что self.selectedPlace не ноль? – rdelmar

ответ

0

Вы должны сделать pushViewController первый, а затем присвоить место переменной

+0

Я изменился! Но не работает –

+0

«if (secondViewController == nil)», эта переменная и внутри, если переменная команды «secondViewController» различна, вы переопределили переменную дважды – dthien

+0

вместо использования «secondViewController.place = self.selectedPlace;», попробуйте с "self.secondViewController.place = self.selectedPlace;" – dthien

Смежные вопросы