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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.76
Igor20
39 / 0 / 1
Регистрация: 10.12.2012
Сообщений: 5
#1

обращение к данным uiviewcontroller - Программирование iOS

10.12.2012, 20:22. Просмотров 3773. Ответов 31
Метки нет (Все метки)

как взять текст из label.text из одного uiviewcontroller в другой? как обращаться к обьектам других вьюшек?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2012, 20:22     обращение к данным uiviewcontroller
Посмотрите здесь:

Быстрое обращение к данным многомерных словарей - Objective-C
предлагаю на рассмотрение следующий метод работы с данными многомерных словарей рассматриваются словари, чья многомерная структура...

UISplitViewController vs UIViewController - Программирование iOS
Чистый проект. В Storyboard только UISplitViewController и UIViewController. Как мне выводить UIViewController поверх всего...

Состояние UIViewController - Objective-C
Доброго времени суток, стыдно за такой вопрос, но поиск не дал рабочего результата Есть приложение с несколькими ViewController, при этом...

Прозрачный UIViewController - Objective-C
Всем привет хочу сделать поверх одного вьюконтролера другой с прозрачностью, выставил альфа каналы , убрал бекграунды, юзал такие варианты...

UIViewController поверх - Программирование iOS
Можно ли что-то (UIViewController or UIView или ещё чего нибудь подобного) вывести, показать поверх UISplitViewController

Метод touchesBegan в UIViewController - Objective-C
Добрый день! Подскажите, а метод - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event непосредственно в контроллере можно...

XCode: Связь двух UIViewController - Программирование iOS
Всем привет! Начинаю осваивать xCode и одно решение завело меня в тупик. Написал прогресс бар, с анимацией загрузки. Теперь немогу понять,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,276
10.12.2012, 23:12     обращение к данным uiviewcontroller #2
как-то так:
Objective-C
1
anotherViewController.someLabel.text = self.label.text;
ну а если поподробней, то в одном вьюконтроллере нужно создать другой либо получить его извне. И чтобы передать значения из вьюконтроллера A в B, то у вьюконтроллера B должен быть "публичный" метод либо свойство, в которое можно передать значение и там уже сделать с ним, что нужно
Igor20
39 / 0 / 1
Регистрация: 10.12.2012
Сообщений: 5
10.12.2012, 23:18  [ТС]     обращение к данным uiviewcontroller #3
Спасибо, за квалифицированный ответ.)))
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
11.12.2012, 07:26     обращение к данным uiviewcontroller #4
anotherViewController.someLabel.text = self.label.text;
Фу какая гадость
MVC - вот, что Вас спасет.
Не нужно из одного лейбла ViewController'a передавать текст и сетить его в другой. Это очень, очень плохо.
Label должен быть скрыт, он не должен быть доступен во внешнем интерфейсе.
Для того, чтобы передавать данные нужно создать объект - модель, в которой будет храниться ваша информация, а дальше его уже и передавать. А контроллер будет связывать модель и отображение.
MVC
Igor20
39 / 0 / 1
Регистрация: 10.12.2012
Сообщений: 5
11.12.2012, 14:05  [ТС]     обращение к данным uiviewcontroller #5
можно что-нибудь на примере показать?
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
11.12.2012, 16:55     обращение к данным uiviewcontroller #6
Что-нибудь:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
//  User.h
//  Test
#import <Foundation/Foundation.h>
@interface User : NSObject
@property (nonatomic, copy) NSString *name;
@end
 
//
//  User.m
//  Test
#import "User.h"
@implementation User
@end
 
//
//  FirstViewController.h
//  Test
#import <UIKit/UIKit.h>
@interface FirstViewController : UIViewController
@end
 
//
//  FirstViewController.m
//  Test
#import "FirstViewController.h"
#import "UserAccountViewController.h"
#import "User.h"
@implementation FirstViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = self.view.bounds;
    [button setTitle:@"Push me!" forState:UIControlStateNormal];
    [button addTarget:self action:@selector(onPushMeButtonTap:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];
}
- (void)onPushMeButtonTap:(UIButton*)sender {
    UserAccountViewController *vc = [UserAccountViewController new];
    User *user = [User new];//Для примера, я создам User'a непосредственно перед передачей
    user.name = @"Alex";
    vc.user = user;
    [self.navigationController pushViewController:vc animated:YES];
}
@end
 
//
//  UserAccountViewController.h
//  Test
#import <UIKit/UIKit.h>
@class User;
@interface UserAccountViewController : UIViewController
@property(nonatomic, retain) User *user;
@end
 
//
//  UserAccountViewController.m
//  Test
#import "UserAccountViewController.h"
#import "User.h"
@interface UserAccountViewController ()
@property (nonatomic, retain) UILabel *usernameLabel;
@end
@implementation UserAccountViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.usernameLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 30)];
    self.usernameLabel.text = [NSString stringWithFormat:@"My name is %@", self.user.name];
    self.usernameLabel.textAlignment = UITextAlignmentCenter;
    self.usernameLabel.center = self.view.center;
    [self.view addSubview:self.usernameLabel];
}
@end
Alex_pac
1283 / 689 / 8
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
11.12.2012, 21:51     обращение к данным uiviewcontroller #7
как взять текст из label.text из одного uiviewcontroller в другой? как обращаться к обьектам других вьюшек?
обычно используют общий синглтон класс либо NSUserDefaults для передачи данных между контроллерами

и в большинсве случаев ловят данные при didLoad либо didappear событиях

вот библия начинающего iOS программиста

Добавлено через 5 минут
будет связывать модель и отображение.
MVC
суть MVC состит в отделении представления от логики не более
другими словами есть UIStoryBoard где лежат шаблоны и есть классы (В большистве наследники UIViewController) которые этими "шаблонами" управляют
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,276
12.12.2012, 01:59     обращение к данным uiviewcontroller #8
Цитата Сообщение от zulkis Посмотреть сообщение
Фу какая гадость
ахах ну вы же так совсем запутаете человека здоровыми кусками кода, пусть просто освоится с сдк, а потом уже будет разбираться с паттернами и всем прочим, понятное дело никто так не делает но и лишним перегружать не стоит, имхо

Цитата Сообщение от Alex_pac Посмотреть сообщение
обычно используют общий синглтон класс либо NSUserDefaults для передачи данных между контроллерами
ниразу не видел такое, вот таким уж точно заниматься не стоит, если уже решили учить человека правильно писать.
т.е. есть у вас 50 контроллеров, и что, будете несчастным синглтоном все гонять? а для чего же тогда конструкторы, паблик методы и общепринятые паттерны?

Цитата Сообщение от Alex_pac Посмотреть сообщение
вот библия начинающего iOS программиста
а насчет библии, то я бы не стал тратить время на такие ресурсы, во-первых они устаревшие, а во-вторых это просто набор того, что усвоил некий человек во время изучения платформы, если учить так уже у самого источника в документации, а такие сайты использовать только чтоб подсмотреть что-то, ибо получается испорченный телефон либо просто грубый фильтр
Alex_pac
1283 / 689 / 8
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
12.12.2012, 06:53     обращение к данным uiviewcontroller #9
будете несчастным синглтоном все гонять
да вы батенька не вкурсе ваще

обращение к данным uiviewcontroller

паблик методы
как вариант тоже сойдут но ведь не всегда применимо

то я бы не стал тратить время на такие ресурсы, во-первых они устаревшие
с точки зрения русской документации то там все доступным языком написано. Устаревание там только в том что не применяется сборщик мусора.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.12.2012, 11:42     обращение к данным uiviewcontroller #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Vorona, учиться нужно погружением, имхо. И правильным вещам сразу. Пусть сложно, зато правильно.
Alex_pac, да Вы не в теме...
Все, что Вы написали, даже на "начинающий" уровень программиста под iOS, в котором MVC - основа основ для реализации UI, не тянет.
Цитата Сообщение от Alex_pac Посмотреть сообщение
Устаревание там только в том что не применяется сборщик мусора.
Вот это вообще к чему тут, непонятно. Какой сборщик мусора в iOS, Вы о чем вообще?

P.S. Картинка - жесть.
Из серии - создам 100500 вьюшек, а dataSource'ом будет AppDelegate... "И хочу чтобы они на UIWindow лежали. Все сразу." (С) "редиска"
Ужас то какой

P.P.S.
Цитата Сообщение от Alex_pac Посмотреть сообщение
вот библия начинающего iOS программиста
Библия начинающего(и опытного тоже) программиста - developer.apple.com
Alex_pac
1283 / 689 / 8
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
12.12.2012, 12:14     обращение к данным uiviewcontroller #11
Вот это вообще к чему тут, непонятно. Какой сборщик мусора в iOS, Вы о чем вообще?
обращение к данным uiviewcontroller

automatic Reference не о чем не говорит ?

MVC - основа основ для реализации UI
Опять же имхо. зависит от сложности. Если в приложении будут большие информационные потоки то придется выделить отдельно "модель" для повышения логичности архитектуры

в остальных случаях если приложение не работает с большими объемами данных то каждый контроллер представления по совместительству уже является и моделью

в некоторых случаях данные ваще лежат в одном-двух словарях NSMutableDictionary и этого бывает достаточно и не нужно отдельно выделять модель

Ужас то какой
при использовании UIStoryBoard технологии организации приложений не вижу сложностей
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.12.2012, 13:33     обращение к данным uiviewcontroller #12
Цитата Сообщение от Alex_pac Посмотреть сообщение
automatic Reference не о чем не говорит ?
Читайте как осуществляется Memory Management и что делает конкретно ARC. Сборщика мусора в iOS в жизни не было.
Не нужно обманывать людей.
Цитата Сообщение от Alex_pac Посмотреть сообщение
Если в приложении будут большие информационные потоки то придется выделить отдельно "модель" для повышения логичности архитектуры
Чего??? А можно поподробнее с этого момента. Потому что имхо, но чем дальше в лес, тем больше мне кажется что графа "репутация" на данном форуме мало что значит.
По вашему "если в приложении "маленькие" информационные потоки" - оно должно быть нелогичным? Объяснитесь, будьте любезны.

Цитата Сообщение от Alex_pac Посмотреть сообщение
в некоторых случаях данные ваще лежат в одном-двух словарях NSMutableDictionary и этого бывает достаточно и не нужно отдельно выделять модель
Так обычно горорят те, кто больше 10 классов в проекте не наблюдал. Обычно студенты 3-4 курса. Бывает народ и старше. Но как правило они не пытаются учить людей и подсказывать изначально неверные вещи.

Цитата Сообщение от Alex_pac Посмотреть сообщение
при использовании UIStoryBoard технологии организации приложений не вижу сложностей
А при чем тут вообще сториБоард? Вы путаете мягкое с кислым. Когда был MVC, этого сториБоарда даже в планах не было.
Цитата Сообщение от Alex_pac Посмотреть сообщение
в остальных случаях если приложение не работает с большими объемами данных то каждый контроллер представления по совместительству уже является и моделью
Это у тех, кто не понимает для чего разделение нужно.

Цитата Сообщение от Alex_pac Посмотреть сообщение
в некоторых случаях данные ваще лежат в одном-двух словарях NSMutableDictionary и этого бывает достаточно и не нужно отдельно выделять модель
Такие авторы на govnokod постились не раз.
И еще такие цитаты напоминают мне о том, что существуют и "пыхапéры"(Не в обиду будет сказано высококвалифицированным web-разработчикам), которые везде используют php array(ассоциативно ясное дело), и считают это правильным.

P.S Вау, 666 пост. Злой пост. Мвахаха
Alex_pac
1283 / 689 / 8
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
12.12.2012, 14:38     обращение к данным uiviewcontroller #13
Читайте как осуществляется Memory Management и что делает конкретно ARC
пруфлинк, подтверждающий что ARC не сборщик мусора, в студию!

"если в приложении "маленькие" информационные потоки" - оно должно быть нелогичным
если в приложении малые информационные потоки то модель не надо выделять в отдельный класс.

Когда был MVC, этого сториБоарда даже в планах не было.
когда появился сториБоард , MVC стал стандартом дефакто ибо наглядно отображает структуру приложения

Это у тех, кто не понимает для чего разделение нужно.
примеры проектов с MVC в студию!

php array(ассоциативно ясное дело)
пыхаперы делятся на фреймворкщиков и low level программистов. последние пишут код напрямую а не через 10 абстрактных классов

а говнокодеры они и в Африке говнокодеры
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.12.2012, 14:51     обращение к данным uiviewcontroller #14
Цитата Сообщение от Alex_pac Посмотреть сообщение
если в приложении малые информационные потоки то модель не надо выделять в отдельный класс.
Ваше право, но я с Вами в одном проекте отказался бы участвовать.

Цитата Сообщение от Alex_pac Посмотреть сообщение
когда появился сториБоард , MVC стал стандартом дефакто ибо наглядно отображает структуру приложения
Глупость написана. MVC это паттерн проектирования, а сториБоард это механизм разработки интерфейса программы.
Чувствуете разницу?

Цитата Сообщение от Alex_pac Посмотреть сообщение
примеры проектов с MVC в студию!
Выше читайте, я привел пример по просьбе ТС. Что-либо сложнее писать не вижу смысла.

Цитата Сообщение от Alex_pac Посмотреть сообщение
пруфлинк, подтверждающий что ARC не сборщик мусора, в студию!
Да хоть 2:
http://clang.llvm.org/docs/Automatic...eCounting.html
http://stackoverflow.com/questions/7900167/objective-c-2-0-garbage-collector-vs-automatic-reference-counter-in-ios-5-sdk
Аббревиатура ARC - "Automatic Reference Counter" - даже в переводе не звучит как сборщик мусора(Garbage Collector).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2012, 14:58     обращение к данным uiviewcontroller
Еще ссылки по теме:

Не вызывается dealloc в UIViewController при popViewControllerAnimated - Objective-C
Здравствуйте! есть такой код @interface MainController () @property (strong,nonatomic) Model *model; @property...

Navigation controller (UITableviewController вместо UIViewController) - Программирование iOS
Доброго времени суток. Создал первое TabbedApp. Добавляю в проект элемент navigation controller. Он состоит из двух элементов: view...

Обмен свойствами двух UIViewController посредством KVO - Objective-C
Имеется 2 вьюконтроллера. В первом есть @property number. Во втором нужно отследить его изменение. Использую метод во втором: ; ...

Cлой доступа к данным. - Objective-C
Всех с наступающими Новым Годом!! Нужно написать слой доступа к данным. Т.е. с какого-либо сайта чтобы забирались данные, парсились...

PostgRest обращение к веб сервису - Swift
Добрый день. Помогите новичку разобраться. Есть БД на PostgreSQL. Развернул сверху на нее PostgREST API. В результате имею REST API...


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

Или воспользуйтесь поиском по форуму:
Alex_pac
1283 / 689 / 8
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
12.12.2012, 14:58     обращение к данным uiviewcontroller #15
MVC это паттерн проектирования
паттерн который подразумевает разделение представления от логики чем и является сториБоард и все остальное.

Да хоть 2:
ты не пишешь dealloc или release при использовании ARC => не освобождаешь память вручную => ARC это и есть сборщик мусора ибо больше не нужно вручную уничтожать экземпляры объектов
Yandex
Объявления
12.12.2012, 14:58     обращение к данным uiviewcontroller
Ответ Создать тему
Опции темы

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