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