@ios_ru

Страница 615 из 2351
Betrayer
21.02.2017
03:56:35
Привет. Есть такая задача, нужно предзаполнить часть полей анкеты из данных которые уже есть. Как лучше это сделать?

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

Но как-то громоздко.

Alexander
21.02.2017
05:13:37
Ну так есть же класс, который описывает эту анкету? Заполняешь свойства объекта, у тебя заполняются поля, или чего-то не догоняю?

Google
Betrayer
21.02.2017
05:19:34
Хочу чтобы из словаря данные в UITextField перегонялись.

Точнее в несколько текстфилдов.

Andrew
21.02.2017
05:23:33
Введи понятие ViewModel, которую ты будешь передавать во вью при создании, привяжи филды к полям модели, если тебе прям "архитектурненько" надо, подход MVVM называется, вот пример реализации https://habrahabr.ru/post/273455/

Betrayer
21.02.2017
05:25:32
Meh, не хочу вводить лишние сущности. Я думал если можно что-то вроде storyboardID использовать как идентификатор UITextField.

И по соответсвию ключа забивать данные.

Но ради одной анкеты переделывать всю архитектуру.

Булат
21.02.2017
05:26:47
Треш какой-то) В чем проблема собрать в сториборде табличку-форму из статичной тейблвью с текстфилдами, прикрутить последние к контроллеру

И заполнять через данные объекта анкеты

Betrayer
21.02.2017
05:28:05
Треш какой-то) В чем проблема собрать в сториборде табличку-форму из статичной тейблвью с текстфилдами, прикрутить последние к контроллеру
Ну так оно и есть, есть статическая таблица с полями. Но я хочу чтобы часть полей заполнялась из словаря, если они там есть.

Я просто сделал второй словарь, ключ:поле.

И по одинаковым ключам заполняю.

Булат
21.02.2017
05:28:42
А откуда эти данные берутся? Кешировались до этого где-то? Или пользователь на предыдущих экранах вводил?

Google
Булат
21.02.2017
05:29:59
И по одинаковым ключам заполняю.
Ключи это не так здорово. В конце концов можно просто опечататься в ключе) Объектик же лучше сделать, почему нет?

Betrayer
21.02.2017
05:30:26
Ключи это не так здорово. В конце концов можно просто опечататься в ключе) Объектик же лучше сделать, почему нет?
Какое опечататься? Ты наркоман чтоле? Ключ берется с сервера депонирования.

Betrayer
21.02.2017
05:30:42
И эмитируется удостоверяющим центром.

Я про словари и ключи
Так я же их сам составляю.

Оба словаря.

Уже составил.

Чуть позже сделаю что-нибудь менее хаковое.

Булат
21.02.2017
05:31:58
Сегодня ты, завтра другой программист) Ну впрочем это уже подходы. Сути не меняет

Прикручивай текстфилды как IBOutlet

Betrayer
21.02.2017
05:32:23
Уже давно это сделал.

Булат
21.02.2017
05:32:29
И заполняй значения своими словарями

Betrayer
21.02.2017
05:32:37
self.fields = @{@"name":self.nameField, @"lastName":self.surnameField, @"middlename":self.middleNameField, @"IIN":self.IINField, @"ZIP":self.zipCodeField, @"city":self.cityField, @"address":self.addressField, @"phone":self.phoneField, @"email":self.emailField};

Булат
21.02.2017
05:33:10
О_о

Betrayer
21.02.2017
05:33:19
Ага, мне тоже не нравится.

Зато потом я могу сделать вот так -(void) setPersonalData:(NSDictionary *)personalData{ _personalData = [[NSDictionary alloc] initWithDictionary:personalData[@"subject"]]; logMessage(@"%@",_personalData); for(NSString* key in _personalData.allKeys) [self updateTextField:self.fields[key] text:_personalData[key]]; }

В общем, я хочу чтобы я мог делать второе, не делая первое.

Булат
21.02.2017
05:36:12
Думаешь стоит мучиться так? Да, строчек меньше, но если кто-то другой посмотрит, ему будет очень сложно понять, что там во втором куске кода происходит

Betrayer
21.02.2017
05:36:33
-(void) updateTextField:(UITextField*) field text:(NSString*) text{ field.text = text; field.enabled = NO; field.textColor = [UIColor darkGrayColor]; }

Google
Булат
21.02.2017
05:37:08
В смысле self.nameField.text = value И так далее по всем филдам гораздо проще понимается

Betrayer
21.02.2017
05:37:36
Ага, вот сейчас бы плодить по три строки кода для каждого филда.

Булат
21.02.2017
05:38:30
Вот то что делает тот последний метод можно сделать миллионом способов)

Betrayer
21.02.2017
05:38:48
Покажи хотя бы два.

Булат
21.02.2017
05:39:44
Есть XLForms или Eureka если не хочешь сильно заморачиваться. Они тебе и форму соберут, и все ивенты филдов там удобно обрабатываются очень

А если не хочешь пихать в проект что-то

Betrayer
21.02.2017
05:40:28
Не могу использовать поды в проекте.

Булат
21.02.2017
05:40:35
То можно просто сделать сабкласс Текстфилда, в котором будет меняться апиренс его в зависимости от enabled

Или же можно стать делегатом филдов

И этот код поставить в делегат методы

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

Самое первое предложение про MVVM тоже крутое. Там что угодно можно сделать очень аккуратно.

И оно совмещается с MVC без проблем

Правда я бы rx не прикручивал

Булат
21.02.2017
05:51:57
А что тогда спрашиваешь как зарефакторить можно?) оставляй если работает, раз такое. Делай то что ещё не работает.

Потом зарефакторишь как нравится

Betrayer
21.02.2017
05:52:37
Я думал можно по-быстрому решение лучше впилить.

Булат
21.02.2017
05:53:07
Ну на MVVM ты часик-два потратишь максимум

Betrayer
21.02.2017
05:53:08
Мне кажется, или в телеграмме дохуя Dmitriy'ев?

Google
Булат
21.02.2017
05:53:28
Тебя никто не заставляет переводить на это дело всю прилу

Severd
21.02.2017
05:54:46
Мне кажется, или в телеграмме дохуя Dmitriy'ев?
самое популярное имя 20-30 лет назад... Результат))

Betrayer
21.02.2017
05:55:20
Просто в каждом русскоязычном чате есть хотя-бы один Dmitriy.

А Иванов нет.

Где все Иваны?

Severd
21.02.2017
05:55:54
когда я в школе учился, в классе было 5 Дмитриев

Betrayer
21.02.2017
05:56:11
Where is russian Ivan?

@khabiroff, я потом почитаю про rxSwift.

Следующую итерацию на него переведу.

Булат
21.02.2017
06:00:01
Рх далеко не обязательная часть MVVM

Ну это просто лично я не люблю рх

Andrew
21.02.2017
06:28:21
rx - просто попалось в перво выгугленном примере mvvm под иос, там откуда этот мввм приехал гуй сам по сути в реактивность может

Aleksandr
21.02.2017
07:50:33
Привет, кто помнит сайт, который показывает ориентировочное время прохождения приложения модерации?

Alexey
21.02.2017
07:51:00
Это как сервис, узнай свой iq?

Roman
21.02.2017
07:55:17
http://appreviewtimes.com

Taras
21.02.2017
07:57:08
Aleksandr
21.02.2017
07:58:36
Timka
21.02.2017
08:06:42
Беги атсюдово

Google
Ruslan
21.02.2017
08:20:57
Доброго времени суток! Работаю в сфере образования. Программирование больше хобби чем профессия. Хочу переквалифицироватся в IOS-dev. В сообществе хотелось бы получать больше инфы из мира ios dev. Живу в Астане, Казахстан. #whois

F
21.02.2017
08:58:03
Беги атсюдово
Привет, зая

Ruslan
21.02.2017
09:04:02
Betrayer
21.02.2017
09:04:18
Зачем так жить?

Ruslan
21.02.2017
09:05:30
В холоде человек лучше сохраняется ?

Betrayer
21.02.2017
09:07:17
Астанафантазии.

Иван
21.02.2017
09:29:20
/stat@combot

/stat@combot

Combot
21.02.2017
09:29:24
combot.org/chat/-1001063580584

combot.org/chat/-1001063580584

Benjamin
21.02.2017
09:29:42
/stat@combot

Combot
21.02.2017
09:29:42
combot.org/chat/-1001063580584

Maksim
21.02.2017
09:33:39
/stat@combot

Страница 615 из 2351