2015-12-15 2 views
0

Редактировать: Я решил свою проблему, используя 2 контроллера вида вместо 1, и использую тот же метод, но теперь передаю значение от одного к другому, назад и вперед.Повторно использовать контроллер просмотра, увеличивая NSInteger

Скажем, у меня есть View Controller называется ViewController и объявили NSInteger под названием раздел в файле заголовка ViewController.

Теперь у меня есть кнопка на контроллере представления, и каждый раз при нажатии этой кнопки я увеличиваю значение раздела и нажмите ViewController:

- (IBAction)nextAction:(id)sender 
{ 
    ViewController *viewCon = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
    viewCon.section = viewCon.section + 1; 
    [self.navigationController pushViewController:viewCon animated:YES]; 
} 

Проблема, которую я имею, когда Я нажимаю эту кнопку, раздел увеличивается от 0 до 1 и не увеличивает его. Что ты предлагаешь? Заранее спасибо.

ответ

1

Проблема, с которой я столкнулась, - это когда я нажимаю эту кнопку, секция увеличивается от 0 до 1 и не увеличивает ее. Что ты предлагаешь?

Вы создаете свой контроллер вида как локальную переменную, поэтому, когда он выталкивается из стека контроллера навигации, он не назначается, ваш объект контроллера просмотра больше не существует!

Вы должны сделать так, чтобы вы рассматривали контроллер как переменную экземпляра класса, которая содержит ваш метод nextAction, и метод nextAction, который вы должны проверить, чтобы проверить, равен ли ваш контроллер просмотра, и если он инициализирует переменную экземпляра. После этого вы должны увеличить свой счетчик разделов.

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