Классы не соответствуют классам, они соответствуют protocols, которые являются в основном списками сообщений, на которые может отвечать класс. Если класс соответствует протоколу, он должен отвечать на все необязательные сообщения, перечисленные в интерфейсе протокола.
Кроме того, нет разницы между классом Cocoa и классом Objective-C. Какао - это Objective-C framework, поэтому все его классы - классы Objective-C. Если вы спрашиваете, являются ли такие классы, как UIView, частью языка или рамки: каждый класс, с которым вы обычно взаимодействуете в приложении Cocoa/Cocoa Touch, поступает из фреймворка. Родные классы стандартной среды выполнения Objective-C обеспечивает являются:
Вы можете перейти в каталог/USR/включать/ObjC, если вы хотите увидеть заголовки для себя. Ни один из них не используется в обычной программе Cocoa или Cocoa Touch. Вы используете протоколы (как упоминалось выше), но обычно не обращаетесь непосредственно к классу.
Я видел, что все соответствует NSObject. Разве это не объект, а не проткол? –
@awakeFromNib: Это и то, и другое. Существует класс NSObject и протокол NSObject, которому соответствует класс. Класс: http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSObject_Class/Reference/Reference.html Протокол: http://developer.apple.com/mac/library/documentation /Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject.html#//apple_ref/occ/intf/NSObject – Chuck
Что такое «Список»? не может найти его в моей рабочей среде – user102008