Обратите внимание на методы boundingRect и sizeWithAttributes. Не советую с их помощью считать размер содержимого UILabel/UITextView/UITextField.
В достаточно серьезном докладе Как мы делаем лейаут пользовательского интерфейса — Андрей Мишанин в ответах на вопросы слушателей автор как раз упоминает, что они кэшируют размеры строчек через boundingRect...
Ваше мнение, насколько оправдано использование этих методов? Может в какой-то цифре вы сможете выразить негативные последствия их использования, т.е., предположим, вы имеете опыт, который показывает, что лишь ХХ% времени эти функции ведут себя не так адекватно как мы ожидаем?
Я все-таки ждал ваши эксперименты и выводы о быстродействии… Столкнулись ли лично вы с ситуацией, в которой RxSwift оказался столь медленным, что приходилось прибегать к другим способам решения задачи?
если бы у вас был отдел тестирования, то вы бы возможно поняли
Что же меня выдало, как вы догадались, что его у меня нет?
использовать 2 разных билда для отладки и тестирования усложняет исправление багов
Почему вы решили, что используется два разных билда?
приложение вместо того чтобы падать, если данные не верны, начинает вести себя непредсказуемо
Перефразирую ваше высказывание: Если, допустим, при просмотре карточки товара пришли данные в неверном формате и Decodable не справился с задачей, то вы инициируете вылет приложения.
Если вы называете такое поведение «непредсказуемым», то для меня это обычная обработка ошибок. Ошибку от Decodable я отправлю в лог. Пользователю покажу уведомление о том, что что-то пошло не так. При таком сценарии пользователь сможет продолжить использовать приложение и сможет спокойной посмотреть другую карточку товара.
Ваше сообщение, кстати, прозвучало слегка надменно. Поэтому общение с вами я бы не хотел продолжать. Спасибо за советы.
В достаточно серьезном докладе Как мы делаем лейаут пользовательского интерфейса — Андрей Мишанин в ответах на вопросы слушателей автор как раз упоминает, что они кэшируют размеры строчек через
boundingRect...Ваше мнение, насколько оправдано использование этих методов? Может в какой-то цифре вы сможете выразить негативные последствия их использования, т.е., предположим, вы имеете опыт, который показывает, что лишь ХХ% времени эти функции ведут себя не так адекватно как мы ожидаем?
Обязательно ли вызывать
copy()и что будет если не вызвать?Обязательно ли через
as?пытаться преобразовать кParallaxLayoutAttributes?Почему вы решили, что используется два разных билда?
Перефразирую ваше высказывание: Если, допустим, при просмотре карточки товара пришли данные в неверном формате и Decodable не справился с задачей, то вы инициируете вылет приложения.
Если вы называете такое поведение «непредсказуемым», то для меня это обычная обработка ошибок. Ошибку от Decodable я отправлю в лог. Пользователю покажу уведомление о том, что что-то пошло не так. При таком сценарии пользователь сможет продолжить использовать приложение и сможет спокойной посмотреть другую карточку товара.
Ваше сообщение, кстати, прозвучало слегка надменно. Поэтому общение с вами я бы не хотел продолжать. Спасибо за советы.