Форум программистов, компьютерный форум, киберфорум
Наши страницы
Objective-C
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
RGB321
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 4
1

Проблемы с контроллерами

12.07.2013, 17:49. Просмотров 831. Ответов 4
Метки нет (Все метки)

ViewController.h:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

@property int a;

@end;

ViewController.m:
...
@synthesize a;
...
-(void) viewDidLoad{
[super viewDidLoad]
a=1;
NSLog(@"a=%i", a);
//показывает a=1
}
...
- (IBAction)button: (id)sender {
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
[appDelegate switchToView2: self.view];
}

Это первый контроллер. Когда я нажимаю кнопку, он переходит на второй контроллер. Все работает. Теперь дальше:

ViewController2:
#import "ViewController.h"
....
-(void) viewDidLoad{
[super viewDidLoad]
ViewController *result=[[ViewController alloc] init];
NSLog(@"a in ViewContolller2 = %i", result.a);
//показывает a=0
}

Почему не передается то значение а, которое получила переменная в первом контроллере?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2013, 17:49
Ответы с готовыми решениями:

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

Передача переменной между контроллерами
Добрый день всем, столкнулся с такой проблеммой пытаюсь на другой контроллер...

Как передавать данные между контроллерами Tab Bar-a
Как передавать данные между контроллерами Tab Bar и отслеживать нажатие кнопки...

Проблемы со свойством
Если инициализировать свойство класса, созданное с использованием @property...

Обмен между контроллерами SPI
Привет. Хочу организовать обмен между несколькими контроллерами(stm32fx)....

4
Pro2005
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
12.07.2013, 18:23 2
Ну как я понял... ты думаешь что эти строки:
Objective-C
1
[[ViewController alloc] init];
Каким то магическим способом вызывают метод viewDidLoad, в котором и инициализируется твоя переменная...
0
RGB321
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 4
12.07.2013, 18:27  [ТС] 3
И как тогда сделать?
0
Pro2005
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
12.07.2013, 18:30 4
Инициализируй тогда переменую в методе init, который ты собственно и вызываешь
Objective-C
1
2
3
4
5
6
7
- (id)init {
    self = [super init];
    if (self) {
        a = 10;
    }
    return self;
}
0
RGB321
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 4
12.07.2013, 19:48  [ТС] 5
Мне нужно, чтобы в первом контроллере совершались кое-какие действия, а результат выводился во втором.

Добавлено через 14 минут
Все, разобрался, спасибо большое
0
12.07.2013, 19:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2013, 19:48

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

(Jersey 2.2) Как работать с 2 и более контроллерами?
Есть База и 4 контроллера, осуществляющих обработку для каждой сущности...

Как передать данные между Контроллерами Tab Bar
Добрый день! Используется TabBar Controller + 2 ViewController. При загрузке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru