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