Anton
вот меня больше бесит, что объекты не thread-safe
Anton
надо передавать objectID, которые может быть даже temporary, если не учитывать этот момент
Ilkhom
вот тому кто не разбирается в контекстах и конкуренси в персистенс то будут проблемы
Anton
ну я чет привык, что это просто plain objects, dumb-model
Anton
ты наверное хотел сказать, что везде, где active record
Anton
с дата маппером такого беспредела нет
Anton
AR одна из реализация ORM
Anton
datamapper ftw
Anton
три вида контекстов, этож офигеть
Serhii
ну тоже на счет RM, дернешь [Object findAll] - тебе вернется масив и ты будешь рад как тюленюшка. Пойдешь на собес, скажут верни мне 5 сущностей, а ты такой ну я MR юзал, мне этого хватало
Anton
говорил же, что не разбираюсь
Anton
угу, 2
Ilkhom
три вида контекстов, этож офигеть
ну это то что МР для тебя сделал, а их можно же насоздать скока хошь)
Anton
а, я понял с чем я запутал
Anton
в MR есть еще root context
Serhii
)))
Serhii
и того какие у нас есть? root, default и child?)
Anton
какие создашь
Anton
да перепутал я
Anton
одно с другим, че пристал
Serhii
вот по этому МR и не советую, может запутать
Anton
без MR боль ваще
Serhii
а когда чуток поймешь CD можно и поюзать
Anton
ну да, я сначала на голом фигачил
Anton
потом понял, что много времени на фигню трачу
Anton
но до сих пор ясной картины в голове нет
Serhii
я тоже с MR начинал ибо на первый взгляд все заебок. и когда в очередно раз FRC не подхватил мои изменения, решил разобраться😂
Anton
вот кстати есть вопрос. пользователь жмакает кнопку, создается entity, но она должна сохранить в основной контекст только когда пользователь нажал на save. Я делаю так: создаю еще один дочерний контекст, создаю в нем entity. Потом этот контекст и его parent сохраняю. как бонус я могу понять, был ли изменен entity в процессе или нет и показать пользователю уведомление, что он собирается закрыть экран, куда он внес данные какие-то
Anton
ну то есть две кнопки: save, cancel
Anton
если пользователь жмет cancel, то 2 варианта
Anton
1) если контекст не менялся, то просто закрываем, контекст удаляем без сохранения 2) если контекст менялся, то вывести предупреждение
Anton
вот это правильное использование cd или нет?
Serhii
ну если ты о том, что на новом экране режактирования ты создал отдельный контекст - то да это норм
Anton
ок
Serhii
если тебе не нужно сохранять из него данные, то можешь их стереть, но один хрен, при удалении дочернего контекста данные умрут
David
1) если контекст не менялся, то просто закрываем, контекст удаляем без сохранения 2) если контекст менялся, то вывести предупреждение
на счет 2ого пункта ты просто можешь в контексте смотреть какие данные добавлены для изменения
David
метод есть который возвращает массив измененных объектов
David
соответственно проверяешь если массив не пустой тогда выводить алерт
Serhii
Как там наши показатели репутации? Можно уже флудить?)
Anton
или типа того
Anton
наверное он и делает getChanges.count
Anton
а список измененных объектов я помню только как в эвенте получить
Деда
Мне легче к sql запросы самому писать
Anton
Ну орм все-таки ок паттерн
Anton
Без него еще больше боли
Anonymous
Добрый день! no iTunes Connect access for the team 😢😢😢
Деда
Так, собираемся вместе и плачем
Anonymous
https://forums.developer.apple.com/thread/86867 из этой статьи пробовал шаги, не помогло
Ilkhom
😭😭😭
Anonymous
мы не будем плакать - за нас это будут делать смайлики)
Деда
😭😭😭😭
Insaf
David
свифтеры, подскажите по такому кейсу. Есть родителский класс А, у него есть проперти аля var smth: MainProtocol В дочерних надо тип этого проперти привести к конкретному классу - override var smth: FirstClass (разумеется этот класс реализует этот протокол) Сейчас это делаю через оверрайд инит у дочернего и там пишу smth as! FirstClass
David
но может есть еще какой нить тру вариант
norlin
А вот скажите. Есть ли нормальный симулятор андроида под мак? тот который в Android Studio – какое-то багнутое тормознутое говно...
David
а альтернативы хз
Деда
О, Норлин, я тебе статью кидал
norlin
О, Норлин, я тебе статью кидал
куда? в личке не вижу
Деда
https://habrahabr.ru/company/fbk/blog/347312/
norlin
в андроид студио встроенный
norlin
тока называется "эмулятор"
Vadim
сторонних куча
norlin
ну мне без разницы, в общем-то
David
начинается
norlin
спасибо
а то от этих долбанутых на политике тут никогда ответа не дождёшься)
Vadim
извенись
Деда
а то от этих долбанутых на политике тут никогда ответа не дождёшься)
Нихуя подобного, все условия были соблюдены, ты в IT - раз, ты с Навальным - два
Деда
Статья таргертирована правильно
David
По-моему смысл протоколов как раз и есть в том, чтобы не заниматься приведением объектов, а использовать только методы протокола. Если нужно кастить - скорее всего, проблема в архитектуре
мм, если есть класс А и класс Б которые реализуют один и тот же протокол, но у каждого есть независимые функции,пример: func a() у класса А и func b() у класса В эти функции никак между собой не связаны. Так вот если мне надо вызвать дефолтные методы протокола и плюс к тому же функцию а
David
то тут без каста не обойтись