Страницы

Поиск по вопросам

четверг, 25 октября 2018 г.

Типичные ошибки программирования на Objective-C [закрыт]

Расскажите общие ошибки, допущенные Objective-C разработчиками, которые вы знаете. Как мы можем их избежать? В общем, хотелось бы увидеть ошибки связанные с управлением памятью, анти-паттерны и любые другие ошибки программирования под iOS. Пожалуйста, обоснуйте свой ответ, а также можно привести примеры. Начну с одной известной ошибки. Это объявление нового класса без суперкласса, т.е. предполагая, что он будет иметь суперкласс по умолчанию. Здесь важно помнить, что Objective-c не поддерживает множественное наследование, НО поддерживает несколько корней. То есть корень - это не обязательно только класс NSObject. Таким образом, если вы пишете /* не имеет суперкласса, не делайте этого! */ @interface MyClass @end Вы объявляете новый корень, а не подкласс NSObject. Все подклассы NSObject должны быть прописаны вот так: /* суперкласс NSObject */ @interface MyClass : NSObject @end


Ответ

UIViews и UIViewControllers - разные вещи и не могут быть взаимозаменяемыми. Не каждый контроллер должен быть UIViewController. Жизненный цикл UIViewController. В частности вьюшка выгружается (unloaded) в ответ на memory warnings. Обычно это бывает, когда разработчик использует вьюшку для хранения данных. Результат - потеря данных.

Комментариев нет:

Отправить комментарий