Когда я ссылаюсь на программирование в Objective-C, я должен включить 2.0? - PullRequest
1 голос
/ 12 февраля 2010

Это может быть субъективно, но, если я пишу некоторый код в Objective-C 2.0 и пишу об этом, например, в Twitter или в блоге, то я должен ссылаться на него как Objective-C 2.0 или просто Objective-C?

Ответы [ 3 ]

7 голосов
/ 12 февраля 2010

Ответ на самом деле не такой тонкий. Objective-C 2.0 был своего рода прозвищем, используемым для идентификации версии Objective-C, которая была выпущена пару лет назад на WWDC.

Однако на самом деле есть несколько разных вещей, которые могут быть истолкованы как Objective-C 2.0.

Существует API, ABI, архитектура и платформа.

Во всех трех случаях Objective-C 2.0 может ссылаться на определенный набор доступных синтаксических функций, и он [почти] полностью одинаков для всех платформ и архитектур. Единственное отличие состоит в синтезированных иварах; доступно только на 64-битных Mac OS X и iPhone (но не в симуляторе).

ABI - или двоичный интерфейс приложения - относится к чему-то немного другому; как вещи хранятся в памяти и как обрабатываются исключения. Исключения на самом деле отличаются между 32-битной Mac OS X, 64-битной Mac OS X и iPhone. 32-битная Mac OS X имеет очень дорогую установку исключений, но дешевые броски. 64-битная Mac OS X имеет очень дешевую установку исключений и немного более дорогие броски (и они совместимы с C ++). iPhone имеет C ++ совместимые исключения, но не такие дешевые настройки.

Тогда есть архитектура; Между вариантами Intel, PPC и ARM есть небольшие различия.

Наконец, платформа; между платформами существуют дополнительные различия - в основном незначительные, более крупные, выраженные количественно вышеупомянутыми описаниями.

Итак, Objective-C 2.0 на самом деле ничего не значит. Это просто Objective-C , а тонкости языка определяются целевой платформой, архитектурой и версией операционной системы. Кроме того, выпуск набора инструментов Xcode может повлиять на компиляцию, поскольку некоторые ошибки могут быть исправлены, что может позволить использовать дополнительные функции в дополнительных обстоятельствах.

Итак, нет, правда .... просто используйте Objective-C .

6 голосов
/ 12 февраля 2010

Если то, о чем вы пишете, не относится к языковой версии 2.0, используйте только Objective-C.

Что касается конкретно переполнения стека, предпочтите объективную-c объективной-c-2.0, потому что немногие люди следуют тегу target-c-2.0

0 голосов
/ 12 февраля 2010

Используйте Objective-C 2.0. Хотя вам и не обязательно, это понятнее. Так что люди знают, что вы говорите о 2.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...