
Valery
12.12.2017
15:24:49
В сообщениях удобно нажимать на Изменить

Vadim
12.12.2017
15:25:07
нашли за что зацепиться, один хер сайд меню это ленивых дезигнеров

Valery
12.12.2017
15:25:07
В календаре переходить к виду года
Короче аргумент про 5 дюймов экрана не проходит

Google

Vadim
12.12.2017
15:25:35
вк перешли с 10 ячеек в сайд меню на табы и ничего

Ilya
12.12.2017
15:25:47
И в меню обычно редкие страницы кладут, чтобы не засорять экран

Valery
12.12.2017
15:25:51
Которое делает вид типа не сайд

Ilya
12.12.2017
15:26:04
А в табах - основные

Valery
12.12.2017
15:26:06
По сути кнопка переехала

Ilya
12.12.2017
15:26:12
Это норма

Vadim
12.12.2017
15:26:33
это единственный нативный способ навигации в иос

Ilya
12.12.2017
15:26:44
Как так

Vadim
12.12.2017
15:26:46
глобальный
ну вот так

Ilya
12.12.2017
15:26:58
Таблица и навигейшн контроллер
Или коллекция, чтобы красивее

Google

Vadim
12.12.2017
15:27:35
ну именно так в вк и поступили
глобальный таб для частых экранов + таблица и навигейшн для говна

Ilya
12.12.2017
15:28:14
Да и нативность это не то как должно быть. Это рекомендация как сделать привычное пользователю приложение
Сами эпплы тоже про это
Главное, чтобы пользователь понимал что и как

Valery
12.12.2017
15:28:56

Ilya
12.12.2017
15:28:59
Или что-то привычное или учи его

Vadim
12.12.2017
15:29:10
гайдлайны были всегда, только никто их не соблюдает кроме крупных игроков, в этом и беда

Макс (Speaker)
12.12.2017
17:33:16
https://planeta.ru/campaigns/speaker

Andrew
12.12.2017
17:33:37

Евгений
12.12.2017
17:34:39
гайз, помогите с многопоточностью разобраться, что то не выходит.
Принимается ввод от юзера из текстфилд, по нажатию "Ок" создается объект в кордате. Вот между этими событиями мне надо из сети данные получить, чтобы они тоже попали в объект кордаты. Однако, как я DispatchQueue не кручу, из сети данные все равно приходят позже. Получается, что сначала entitiy.property = foo выполняется. Как остановить выполнение createEntity() до завершения сетевого запроса?
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
DataManager.createEntity(title: textField.text)
return true
}
createEntity(title: String) {
api.fetch(title:title, completion: {(result) in
entity.title = result
})
entitiy.property = foo
}

Виталий
12.12.2017
17:35:06
спасибо, забрал стикеры

Andrew
12.12.2017
17:35:18

Ilya
12.12.2017
17:36:40

Ilkhom
12.12.2017
17:37:18
а кто это

Евгений
12.12.2017
17:37:38

Ilya
12.12.2017
17:37:51
Скорее всего
В том то и смысл async, что ты никак не предугадаешь что выполнится первым

O'Miay
12.12.2017
17:40:20
https://www.youtube.com/watch?v=h-h5Mhlt6O0&feature=youtu.be


Sergey
12.12.2017
18:33:09
гайз, помогите с многопоточностью разобраться, что то не выходит.
Принимается ввод от юзера из текстфилд, по нажатию "Ок" создается объект в кордате. Вот между этими событиями мне надо из сети данные получить, чтобы они тоже попали в объект кордаты. Однако, как я DispatchQueue не кручу, из сети данные все равно приходят позже. Получается, что сначала entitiy.property = foo выполняется. Как остановить выполнение createEntity() до завершения сетевого запроса?
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
DataManager.createEntity(title: textField.text)
return true
}
createEntity(title: String) {
api.fetch(title:title, completion: {(result) in
entity.title = result
})
entitiy.property = foo
}
А в чем проблема? Создал сущность, передал ее в комплишен блок. Когда выполнится комплишен, запишешешь в сущность данные. В общем где то так у тебя и реализовано. Собственно и вопрос, в чем проблема?

Google

Евгений
12.12.2017
18:33:57
сущность быстрее создается, чем часть данных о ней приходит из сети

Sergey
12.12.2017
18:34:05
И что?

Евгений
12.12.2017
18:35:25
и все. часть свойств не устанавливаются

Sergey
12.12.2017
18:35:32
Ты хочешь получить с createEntity уже готовую заполненную сущность?

Евгений
12.12.2017
18:36:17
да

Sergey
12.12.2017
18:36:23

Евгений
12.12.2017
18:38:57
я вот чот не пойму как…

Sergey
12.12.2017
18:39:07
Нет, конечно ты можешь синхронный запрос на сервер делать, но решение бред)
Самый быстрый способ создать криейтЭнтити метод, который принимает комплишенблок
Вот в нем уже и делай с сущностью все что тебе надо

Anton
12.12.2017
18:39:58
я б создавал энтити как раз после апи метода

Евгений
12.12.2017
18:40:03
а он у меня из того контроллера не может такой блок принять

Sergey
12.12.2017
18:40:14

Евгений
12.12.2017
18:40:23
внутри чот не айс

Anton
12.12.2017
18:40:26
ну да, у апи то наверняка есть комплишн блок
чем не айс?

Sergey
12.12.2017
18:40:33
Ну то есть в комплишен блоке
А ты юзаеш фетчРезалтКонтроллер?

Anton
12.12.2017
18:41:15
по-моему, самый нормал создавать уже после апи запроса

Сергей
12.12.2017
18:41:27
https://github.com/RestKit/RestKit разве не решает это прозрачно?

Google

Сергей
12.12.2017
18:41:48
Я используя эту либу вообще не задумываюсь как оно там все работает, хотя знаю
то есть прозрачно все для меня
С сервера пришло, само записалось, так же обратно

Евгений
12.12.2017
18:42:15

Сергей
12.12.2017
18:42:18
Но возможно я не в тему и не правильно понял

Евгений
12.12.2017
18:42:51
а зачем я разделил то свойства, дествительно, на до и после? все ж в комплишене можно и сделать!
а я с группами сижу тут корячусь

Admin
ERROR: S client not available

Anton
12.12.2017
18:43:58
тем более нельзя добавлять до апи вызова
комплита точнее
а то потом еще и удалять при fault

Sergey
12.12.2017
18:49:38
а то потом еще и удалять при fault
Не, это же важно только в контексте данной задачи. Возможно ему нужно хранить в бд все запросы юзера. Важен смысл, что ему не нужна синхронность в данном кейсе.

Anton
12.12.2017
18:49:50
ладно

Sergey
12.12.2017
18:51:38
да
Так тут вообще все изи) засетил нужный предикат, и когда в контексте появятся изменения, frc даст знать
ладно
И че, даже не поспоришь?)

Anton
12.12.2017
18:53:03
не, все ровно ты раскидал

Sergey
12.12.2017
18:54:08
Эх, я уже надеялся на вечерний холивар ?

Евгений
12.12.2017
18:54:32
это про didChange anObject ?

Anton
12.12.2017
18:54:53
ну ваще так можно просто затупить и шлепать пустые объекты в хранилище

Google

Anton
12.12.2017
18:55:01
и оно там будет фильтровать постоянно предикатами

Sergey
12.12.2017
18:57:31

Евгений
12.12.2017
19:32:21

Макс LexxWanderlust
12.12.2017
19:34:22
выбор тестового девайса: имеет смысл переплачивать iPhone X? или iPhone 8 вполне сойдет?
накидайте плз доводов за/против за iPhone X в качестве тестового.

Дмитрий
12.12.2017
19:36:25
Экран не стандартной формы
Вместо 8 можно взять 6 и сэкономить

Макс LexxWanderlust
12.12.2017
19:41:30
мне желательно поновее, чтобы прошивки выходили подольше: либо 8, либо X. Но iPhone X цена жесть )
думаю какие потенциальные минусы если 8 возьму вместо X

Dmitry
12.12.2017
19:42:15
понтов меньше
до сих пор перед релизом тестирую на iPhone 4
ни один баг мемликов или перформанс не ускользает

Vladimir
12.12.2017
19:43:49

Dmitry
12.12.2017
19:44:50
6-ой лучше бушный взять
тысяч за 7
Но
Вас понять можно. Почти все так выбирают хорошее устройство, как бы вкалывают себе допинг и мотивацию. Но это губительно и в дальнейшем будет еще хуже.

Гоша
12.12.2017
19:48:03

Макс LexxWanderlust
12.12.2017
19:49:50

Dmitry
12.12.2017
19:49:52
Что будет хуже? Что губительно? Что губится?
Когда люди строят планы, то часто впадают в мечтательность, а красивые презенты в начале таких планов еще усугубляют отравление. Через месяц-два кончается весь запал и планы остаются планами. Типичная ситуация.