Как я могу узнать, какие классы Cocoa и API переносимы в MacOSX и IOS?

#ios #macos #portability

#iOS #macos #переносимость

Вопрос:

Существует ряд полезных классов бизнес-логики, которые, похоже, существуют как в iOS, так и в MacOSX (например, NSMutableDictionary ).

Однако, насколько я вижу, в документации разработчика не указано, какие именно — вы либо используете документы разработчика Mac (в этом случае он сообщит, в какой версии OSX появился API), либо документы iOS (в этом случае то же самое для iOS).

Существует ли какой-либо набор документации (или альтернативный простой способ), чтобы выяснить, какие классы существуют в обоих — т. Е. эквивалент «Доступно в iOS с версии foo, OSX с версии bar»?

Ответ №1:

Хорошей отправной точкой является то, что UIKit предназначен только для iPhone, поэтому любой класс, начинающийся с «UI …», не будет доступен на Mac (например: UILabel, UITableView и т.д.)

Все классы из foundation Framework, начинающиеся с «NS …», доступны в macOS, но не все доступны в iOS.

В справочной документации по каждому классу в начале есть примечание «Доступность», а иногда и конкретные примечания в разделе «Обзор».

Например: NSAttributedString

Доступность
Доступна в Mac OS X версии 10.0 и более поздних версиях.

Обзор
iOS Примечание: В iOS этот класс используется в основном совместно с Core Text framework.

Надеюсь, это поможет, Винсент

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

1. Раздражает это примечание о «доступности» … в зависимости от набора документов, похоже, оно ссылается либо на Mac OSX v10.x, либо на iOS x.y