Использование различных фреймворков в моих проектах Я часто сталкивался с пользовательскими элементами, которые были созданы как наследование класса из NSObject (исправьте меня, если что-то не так). Каковы основные правила создания таких элементов интерфейса?Создание пользовательских объектов наследует класс NSObject
ответ
NSObject
- самый простой класс в Какао. Он отвечает за самые основные вещи, которые нужны каждому классу, такие как управление памятью. (Почти) все классы в Cocoa наследуются от NSObject
, и вы обычно используете подкласс NSObject
, если вы хотите реализовать класс модели.
Если вы хотите создать свой собственный элемент графического интерфейса, вы должны подклассы UIView
или UIControl
. UIView
предоставит вам возможности для создания пользовательского чертежа, обработки событий касания и других. UIControl
(который сам является подклассом UIView
) добавляет функциональность для элементов управления, с которыми пользователь может взаимодействовать, например UITextField
, UISlider
и т. Д. Это то, что вы должны подклассы, если вы планируете внедрять настраиваемый элемент управления.
Основной целью использования пользовательских объектов является создание классов моделей, которые помогают хранить данные, которые могут использоваться вне приложения.
См., Например, -
@interface ServerResponse
.....
@property (nonatomic, retain) NSString *responseString;
@property (nonatomic, retain) NSArray *errorCodes;
.....
@end
В дополнение к этому NSObject
является корневой класс в Objective классов C. Большинство наследуют особенность NSObject
Classs.
'NSObject' является только * одним * корневым классом в Objective-C. Не все классы наследуют от него. –
@JonathanGrynspan - обновлено. – rishi
Если вы создаете элементы пользовательского интерфейса, вы можете наследовать от NSObject
, однако я настоятельно рекомендую унаследовать от UIView
или UIControl
. В противном случае вы просто будете воссоздавать функциональность, уже заданную UIControl
.
Кроме того, если вы просто хотите добавить дополнительные функции к существующему элементу пользовательского интерфейса, вы можете расширить (создать категорию), чтобы добавить эту функциональность.
- 1. objc_getClass: load swift класс наследует NSObject
- 2. Как узнать, наследует ли класс от NSObject (Objective-C)
- 3. Сделать собственный класс NSObject сериализуемым
- 4. Создание базового класса для пользовательских объектов JSON
- 5. Создание ArrayList пользовательских объектов parcelable
- 6. Создание пользовательских объектов в AngularJS
- 7. Создание пользовательских объектов для wcf
- 8. Фильтрация массива пользовательских объектов
- 9. Цель C создание пользовательских массивов
- 10. Создание NSObject с NSArray
- 11. Унаследованный класс наследует вложенный класс?
- 12. Каждый класс наследует класс объекта
- 13. Создание GWT SuggestOracle с предложениями пользовательских объектов
- 14. Сохранение пользовательских NSObject в NSUserDefaults
- 15. Преобразование пользовательских NSObject в NSData
- 16. Создание массива пользовательских объектов в java
- 17. Класс ребенка наследует дружбу
- 18. CSS класс не наследует
- 19. Как инициализировать класс NSObject
- 20. NSObject Класс инициализации
- 21. NSObject класс работает
- 22. Создание пользовательских объектов (строительство) в NHibernate
- 23. Создание класса, который наследует SerialPort
- 24. Swift delegate не наследует NSObject (Возможная ошибка в Swift?)
- 25. Создание JSON из NSObject
- 26. Сопоставьте класс, который наследует список объектов к аналогичному классу
- 27. Создать класс, который наследует список объектов в Objective-C
- 28. Класс Python наследует многопроцессорность: издевается над одним из объектов класса
- 29. Сериализовать класс java с атрибутами пользовательских объектов
- 30. Новое в Objective C, Создание пользовательских объектов
Не все классы наследуются от 'NSObject'. Например, 'NSProxy' используется для классов пересылки сообщений (« прокси »). –
Исправлено это, спасибо. – DrummerB