Фреймворк Foundation использует кластеры классов в определенных областях, чтобы обеспечить общий интерфейс для различных классов. Это означает, что когда вы используете NSData
API для создания NSData
объекта, фактический класс, который создается и возвращается, отличается от NSData
, но может и должен рассматриваться и именоваться NSData
объект по вашему коду.
В конце дня простой ответ таков: игнорируйте существование NSConcreteData
и относитесь к нему как NSData
.
Дополнительные сведения о кластерах классов см. В разделе «Кластеры классов» руководства Apple по основам какао .
.