Форум программистов, компьютерный форум CyberForum.ru

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
lowlol
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
#1

Как сохранить данные при переходе на другой ViewController? - Программирование iOS

13.06.2014, 01:10. Просмотров 569. Ответов 2
Метки нет (Все метки)

у меня есть два вьюконтроллера

на первом: кнопка перехода на второй вьюконтроллер (связь modal), лэйбл и кнопка изменяющая лэйбл
на втором: кнопка перехода на первый вьюконтроллер (связь modal) и лэйбл

при нажатии на кнопку на первом vc я изменяю лэйбл на этом же vc и через делегирование на втором vc.

затем перехожу на второ vc, там лэйбл не изменился, затем перехожу обратно на первый vc, там опять неизмененный лэйбл.

как сохранить изменения и почему на втором vc лэйбл не изменился?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2014, 01:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сохранить данные при переходе на другой ViewController? (Программирование iOS):

Подвисание ViewController при переходе по UINavigationBar - Программирование iOS
Проблема такая. Имеется UINavigationBar в котором организованы переходы во ViewController. В 7 переходе у меня открывается галерея, но это...

Не работает импорт одного ViewController в другой! - Swift
Всем привет! Есть 2 ViewController. Хочу, что-бы в обоих были общие переменные. В один пытаюсь импортировать другой import...

как связать ViewController со Storyboard - Программирование iOS
Помогите пожалуйста связать ViewController с Storyboard. Создала iOS Empty Project. Подключила следующие frameworks: ...

Как из одного ViewController изменить свойства другого? - Программирование iOS
Здравствуйте! У меня приложение на UITabBarController, я хочу чтобы если пользователь нажал кнопку в 1 вью, во втором отобразилась...

Как сохранить введенные данные пользователя в поле TextField нажатием клавиши «done» на клавиатуре? - Swift
Всем привет! Помогите решить проблему. Есть поле UITextField, пользователь вводит в него текст и нажимает на клавиатуре кнопку "Done",...

Как сохранить числовые данные, чтобы они были доступны при следующем запуске приложения? - Objective-C
Когда обдумывал High score для игры, столкнулся с проблемой: переменные каждый раз обнуляются при перезапуске приложения? Можно их как-то...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
13.06.2014, 11:21 #2
lowlol, используйте модель(отдельный объект), и передавайте эту модель в контроллер.
В зависимости от этого контроллер должен решать, что будет показывать отображение.
lowlol
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
13.06.2014, 23:34  [ТС] #3
zulkis, я использую синглтон класс
Objective-C
1
2
3
4
5
6
7
8
9
#import <Foundation/Foundation.h>
 
@interface SingletonClass : NSObject
 
@property (weak, nonatomic) NSString *string;
 
+ (SingletonClass *) sharedSingletonClassManager;
 
@end
.m (почему-то пишет предупреждение, что "method definition for "sharedSingletonClassManager" not found"
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@implementation SingletonClass
 
static SingletonClass *sharedSingletonClassManager = nil;
 
- (id) init
{
    if (sharedSingletonClassManager)
        return sharedSingletonClassManager;
    self = [super init];
    return self;
}
 
+ (SingletonClass *) sharedSingletonClassManagaer
{
    if (!sharedSingletonClassManager)
    {
        sharedSingletonClassManager = [[super allocWithZone:NULL] init];
    }
    return sharedSingletonClassManager;
}
 
+ (id) allocWithZone:(NSZone *) zone
{
    return [self sharedSingletonClassManager];
}
 
@end
в .m первого вьюконтроллера делаю так
Objective-C
1
2
3
4
5
6
7
8
9
- (IBAction)buttonPressed:(id)sender {
    _labelVC1.text = @"something";
    
    SingletonClass  *ex = [SingletonClass sharedSingletonClassManager];
    
    ex.string = @"something";
    
    [self.delegate updateLabel:ex.string];
}
в .m второго делаю так
Objective-C
1
2
3
4
5
- (void) updateLabel:(NSString *)string
{
    SingletonClass *ex = [SingletonClass sharedSingletonClassManager];
    _labelVC2.text = ex.string;
}
и ничего не работает
подскажите в чем ошибка, пожалуйста

Добавлено через 9 часов 54 минуты
Цитата Сообщение от lowlol Посмотреть сообщение
.m (почему-то пишет предупреждение, что "method definition for "sharedSingletonClassManager" not found"
здесь разобрался) просто лишнюю букву написал, но лэйбл на втором vc все равно не меняется
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2014, 23:34
Привет! Вот еще темы с ответами:

Как удалить ViewController из UITabBarController - Objective-C
В TabBar есть 2 вкладки, так вот если я перешёл во вторую, а потом опять вернулся, мне надо чтобы ViewController из второй вкладки...

Как обратиться к методу в ViewController.m из AppDelegate.m? - Objective-C
в AppDelegate.m приходят пуш уведомления через сторонний сервис, я хочу по приему пуш уведомления совершать обновление таблицы в...

При переходе обнуляются начальные данные. Как их сохранить? - PHP
Доброго дня всем. Помогите советом. Прикрутила к тексту пагинатор. Текст выводит, страницы выводит, но, начальные данные теряются....

Как при переходе на другую строку ListBox сохранить данные в Memo - Delphi
Короче у меня есть ListBox. И в нем строк 10. И есть массивы a и a где a:array of array of string; при procedure...


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

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

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