@ios_ru

Страница 465 из 2351
Anton
02.12.2016
21:11:44
Сейчас ты после смены констрейнтов вызываешь апдейт, но легко сделать так, чтобы система сама это делала

Почему нет?

Immutable data structures в констреинтах

и пожалуйста

Google
Anton
02.12.2016
21:12:44
делай что хочешь в фоне

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

Pavel
02.12.2016
21:16:11
чтобы посчитать layout нужны не только констренты но и вся иерархия вьюшек в которых выставлены такие вещи как текст, картинки, паддинги итп. чтобы за кэшировать резултаты надо быть увереным что иерархия не изменится при следующем проходе, а она может

Anton
02.12.2016
21:16:25
Вот есть браузер. На вход подается грубо говоря XML, на выходе - картинка в окне.

Твой xib файл - тот же xml

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

потом отдашь движку новую иерархию целиком

он применит

Pavel
02.12.2016
21:18:17
не ну так можно конечно, если полность сделать новый tableview, жесткое api

но с текущим не выйдет

там правилам никто не следует

по-крайней мер нет гарантий, что следуют

Anton
02.12.2016
21:18:55
ну смотри - иерархия в виде данных у тебя уже есть

Google
Anton
02.12.2016
21:19:05
это твои UIView

Pavel
02.12.2016
21:19:32
как пользователь tableview я могу накодить вообще без данных

или пихать в ячейки рандом всякий

Anton
02.12.2016
21:20:11
Ну да

Это твой новый стейт

У тебя был старый стейт, стал новый

можно посчитать диф и отрендерить

диф можно стчитать в бекграунде

так же как и новые значения для геометрии view

Представь, что ты на каждом фрейме копируешь всю иерархию view

потом меняешь копию в своих контроллерах

потом из старой и новой можно дифы считать, кэшировать итд

Pavel
02.12.2016
21:30:21
что-то уже смешались дифы и кони. диф это набор операций чтобы превратить состояние_1 в состояние_2. дифы нет смысла кэшировать, они не используются дважды. диф это к примеру - 1. удалять row1 2. обновить секцию3 3. установить новый title

Anton
02.12.2016
21:30:48
Ты можешь закэшировать старое состояние

Дифы это просто чтобы не обновлять всю иерархию

Pavel
02.12.2016
21:41:45
ладно пример. вот инженер apple, а вот есть tableview, как ему в нем закэшировать layout ячеек, чтобы автоматом у всех пользователей заработало в ios11. всё что он может делать это вызывать cellForIndexPath в фоне для невидимых ячеек, а также heightForRow, willDisplay, сделать ячейке layout, и вот он ок, таки получил слепок вьюшек. теперь он может не вызывать cellForIndexPath а использовать из кэша. но это полная жопа, то что этот инженер сделал. во-первых в фоне никто не ожидал что вызовется cellForIndexPath ,. а даже если с божьей помощью приложение не упало и вернуло норм данные, то где гарантии что пока доскролишь до закэшированого данные не поменялись и ячейка должна быть совсем другая. нюансов тысячи, апи tableview абсолютно не готово справиться с такой задачей в одиночку

всё что я хочу сказать, что с текущим апи ничего не сделаешь и надо городить аля asyncdisplaykit если хочешь кэшировать и считать вещи в фоне

может быть apple что-то выкатит

но это будет даже не uikit

Anton
02.12.2016
21:56:54
погоди погоди

Google
Anton
02.12.2016
21:57:11
причем тут cellForIndexPath

и что ты хочешь закешировать

layout для несуществующих ячеек?

Это невозможно

Pavel
02.12.2016
22:08:08
Так а для видимых ячеек чего кэшировать, они уже видимые. Ну можно конечно и их кэшировать, потом пригодится, но в первый проход скроллом будет тормозить

Тимур
02.12.2016
22:09:21
А что вы хотите сделать то? Сейчас же забирает немного ячеек вперед и так.

На практике, правда, улучшений не заметил. Может если у кого лейаут такой, что в строке 100 ячеек, которые одновременная появляются что-то и улучшится.

Pavel
02.12.2016
22:15:30
Есть либки разные, типа asyncdisplaykit. Которые стараются по максимуму все кэшировать и вынести расчёты в фон. Лэйауты бывает сложные, как у Facebook фид к примеру и в главном треде не хватает мощи их рисовать в 60 фпс.

Asyncdisplaykit ещё и рендерит в фоне

Сомнительное удовольствие, но они могут себе позволить

Хватает триков и без фоновых подсчётов

В симуляторе есть галочка misaligned что то там

Pavel
02.12.2016
22:18:47
Можно включить и глянуть, будут подсвечены плохие вьюшки

Случается если фрейм у вьюшки не кратный пикселям

Ещё очень здорово помогает alamorefireimage

Там есть хорошая штука грузить картинку и ресайзнуть её

Если знаем размер imageview, то запрашиваем картинку именно такого размера, что сильно быстрее рисуется, чем если картинка не в размер, а больше

Там ещё можно сразу круглую запрашивать

Или с краями скруглёнными

Советую посмотреть

Google
Pavel
02.12.2016
22:29:16
Искать по всему что связано с ImageFilter

Тимур
02.12.2016
22:46:03
Ну это понятно, хотя как по мне, то больше всего педалит текст.

Pavel
02.12.2016
22:47:05
Ну вот его и можно в фоне посчитать

Я про размеры

Булат
02.12.2016
22:52:41
такой вопрос С сервера приходит строка, и иногда в ней бывают всякие &quot вместо кавычек. В идеале их прила должна как-то обрабатывать или сервер не должен такое присылать?

Тимур
02.12.2016
22:56:51
Если он тебе присылает HTML, то это твоя проблема. Если просто текст, то они должны поправить.

Булат
02.12.2016
22:58:37
ну там JSON объект: "message" : { "id": 1, "message_text": "-тут текст который иногда со всякими &quot-" .... }

Тимур
02.12.2016
23:01:09
И что? Там может быть и <b>text</b>.

Admin
ERROR: S client not available

Тимур
02.12.2016
23:01:31
Нужно смотреть спеки или спрашивать у ребят с сервера.

Булат
02.12.2016
23:02:20
ну это же уже HTML, а у нас по ТЗ это просто как бы плейн текст

рич форматирования нет

Евгений
03.12.2016
00:24:25
Пацаны, нубский вопрос. Кто может на пальцах объяснить в чем разница struct и class?

Я сути глубокой не понимаю

Из того, что я понял, структуры выглядят пизже чем классы. Но ведь для всего своё применение. Вот этого я осознать чот не могу. В практическом смысле

То есть где применять структуру, а где класс.

AZ
03.12.2016
03:16:52
привет

всем

я никогда не программировал под яблочные продукты. Подскажите пож-та, об аккаунте разработчика эпл. Как происходит передача ios приложения к другому разработчику? переданному разрабу нужна аккаунт разработчика или под одно приложение есть один логин/ пароль для внесения обновления? На сайте эпла трудно найти интересующую инфу ибо лид дизайн

ок, сначала создам аккаунт)

Google
AZ
03.12.2016
03:46:34
#whois откусанная часть куска яблока

если серьезно, больше знаний в сторону веба

Leila_rmz
03.12.2016
04:14:27
Leila_rmz R_Magomedova: Добрый день. Кто нибудь не подскажите как убрать пароль с планшета, у которого ОС виндовс8. Пароль забыли. А на биос Настройках тоже пароль стоит , его не знаем.

Anton
03.12.2016
06:17:48
Используйте reactivex

Mr.
03.12.2016
06:30:33
Ребятки)

Вк закрывает доступ к аудио через API)))

https://vk.com/dev/audio_api

Александр
03.12.2016
06:33:12
Наконец-то

Mr.
03.12.2016
06:33:46
Наконец-то
У меня такая же реакция была)

Сами бы еще закрылись

Вообще заебок бы было

Мы понимаем, что в результате Ваше приложение может полностью перестать работать или лишиться значительной части своих возможностей. И в абсолютном большинстве случаев мы не сможем предложить альтернативу.

Лол

Орнул

Александр
03.12.2016
06:35:40
Двачую, Паша дал им телеграф, нет, не хочу телеграф, хочу в веселого фермера играть

Mr.
03.12.2016
06:37:13
Они если подписку введут

Чтоб за бабосик музыку слушать

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