Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
alazir
0 / 0 / 0
Регистрация: 01.12.2015
Сообщений: 10
#1

Обновление одного контроллера другим

21.12.2015, 21:08. Просмотров 363. Ответов 4
Метки нет (Все метки)

Здравствуйте, уважаемые коллеги!

Решил вот написать программу в OS X с "хорошо пахнущим кодом". Отделил бизнес-логику в отдельные классы, Core Data спрятал за Facade, сделал большой StoryBoard с отдельными ViewController-ами. Получилось вроде красиво.
Но вот незадача. Есть один контроллер который обслуживает список данных. Текущий объект списка хранится в Синглетоне бизнес-логики. Но как бы покрасивее заставить другой контроллер, описывающий View с деталями, обновиться, как только обновится этот самый текущий объект?

Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2015, 21:08
Ответы с готовыми решениями:

Сохранение информации при переходе от одного контроллера к другому
Есть несколько классов наследующих...

Обновление одного контроллера из другого ( wpf используя паттерн mvvm)
Как во viewmodel можно делать автоматическое обновление textbox по мере...

Как выполнить редирект с одного метода контроллера в другой, без пересоздания контроллера
Я делаю в одном из методов RedirectToAction() , в результате чего, перед...

Как передать из одного контроллера объект модели в строго типизированное представление другого контроллера
Есть строго типизированное представление в контроллере Main, в методе...

Как сделать так, что при совпадении одного объекта с другим происходило удаление одного из них
Подскажите, как сделать так, что при совпадении одного объекта с другим...

4
vitalik_a
4 / 4 / 1
Регистрация: 11.09.2014
Сообщений: 81
21.12.2015, 23:23 #2
например в Синглетоне бизнес-логики отправлять сообщение
[[NSNotificationCenter defaultCenter] postNotificationName:@"dataUpdated"
object:self];
а в контроллере ловить это сообщение
0
alazir
0 / 0 / 0
Регистрация: 01.12.2015
Сообщений: 10
21.12.2015, 23:27  [ТС] #3
vitalik_a, спасибо! Такой вариант был среди идей. Наверное, так и сделаю. Очень по-эйпловски
0
cin_cout
27 / 27 / 7
Регистрация: 06.10.2012
Сообщений: 130
19.01.2016, 00:18 #4
Можно передать его (объект) типа так:

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        let checklist = lists[indexPath.row]
        performSegueWithIdentifier("ShowChecklist", sender: checklist)
    }
    
    // MARK: Navigation
 
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        
        if segue.identifier == "ShowChecklist" {
            let controller = segue.destinationViewController as! CheckListViewController
            controller.checklist = sender as! Checklist
        }
    
    }
0
Vorona
Peace 2 all shining faces
672 / 534 / 84
Регистрация: 05.03.2010
Сообщений: 1,283
19.01.2016, 03:50 #5
у меня дежавю? или пару тем назад я видел ну в точности такой же вопрос?
0
19.01.2016, 03:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2016, 03:50

Передача GET параметров из одного контроллера в другой
Всем привет. Может кто подсказать? У меня есть Контроллер #1: В коде ниже, я...

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

Несколько представлений для одного контроллера
Добрый день, у меня такой вопрос: создала простой контроллер: using System;...


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

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

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