Pull to refresh

Comments 7

UFO just landed and posted this here
С листинга 19-7, где валидатор решили сделать IBOutlet'ом, ждал момента, когда будем прицеплять. В итоге все ограничилось «так можно — читай там». Я правильно понимаю, что мы просто берем Object в IB, указываем там класс и цепляем?

Второй вопрос по самой связке. Зачем они завязывают выбор стратегии(выбор логики) на IB, который нужен для построения UI и связи его элементов с кодом? Стратегии можно раздать во viewDidLoad основного контроллера.

И еще не понял в чем проблема кидать исключения при вызове абстрактного метода. Этот метод никогда не будет вызываться ни в каких циклах, причем тут производительность? Не рекомендуется? Надо использовать NSError, ок, и выставили его в nil. Как тогда сообщить разрабу, что код не дописан и мы дергаем абстрактные методы? Почему бы не кидать исключения за такое?
UFO just landed and posted this here
IB нужен для того, чтобы настраивать визуально то, что можно настроить декларативно. В данном случае, декларативно, для текушего «экрана» устанавливается конкретная реализация обработчика. При желании, можно и все view создавать в -loadView. Просто xib/storyboard это делает наглядным.

Исключения — это именно исключительная, особенная, критическая ошибка. Если у нас всего лишь формат не соответствует ожидаемому и мы это проверяем, то это ожидаемый результат вычисления правильно/нет, а не ошибка.

Для того, чтобы узнать, что код не дописан, есть вариант использования assert'ов, Например, можно использовать семейство функций NSAssert, которые работают похожим образом в дебажных/тестовых/домашних сборках выключать их в релизных при помощи определения NS_BLOCK_ASSERTIONS.
В обоих классах валидации &reg заменился на знак registered trademark, поправьте пожалуйста. Стратегия — довольно прямой паттерн, есть в этой книжке что-нибудь сильно obj c специфичное?
Этот пример на современном Objective-C отлично реализуется блоками с меньшим количеством boilerplate.

Про алерты, кидаемые текстовым полем, уже сказали, да.
Sign up to leave a comment.

Articles

Change theme settings