Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка времени выполнения Objective C

Опции
Развертывание Target:

На этой странице

Дельта версии 10.5 OS X

Функции времени выполнения

Основные типы

arith_t: Измененный от int к intptr_t.

uarith_t: Измененный от unsigned к uintptr_t.

Экземпляры

Следующие функции неизменны:

Следующая функция изменяется:

  • object_copy ( nBytes параметр изменяется от unsigned к size_t.)

Следующие функции добавляются:

Следующие функции осуждаются:

  • object_copyFromZone: осуждаемый в пользу object_copy

  • object_realloc

  • object_reallocFromZone: никакая замена

  • _alloc: никакая замена

  • _copy: никакая замена

  • _realloc: никакая замена

  • _dealloc: никакая замена

  • _zoneAlloc: никакая замена

  • _zoneRealloc: никакая замена

  • _zoneCopy: никакая замена

  • _error: никакая замена

Проверка класса

Следующие функции неизменны:

Следующая функция изменяется:

  • class_createInstance: idxIvars параметр, Измененный от unsigned к size_t

Следующие функции добавляются:

Следующие функции осуждаются:

Следующая функция используется только ZeroLink:

  • objc_getRequiredClass

Манипулирование классом

Следующая функция неизменна:

Следующие функции добавляются:

Следующие функции осуждаются:

Методы

Следующая функция неизменна:

Следующие функции добавляются:

Следующие функции осуждаются:

  • method_getArgumentInfo

  • method_getSizeOfArguments

Переменные экземпляра

Следующие функции добавляются:

Селекторы

Следующие функции неизменны:

Следующая функция добавляется:

Следующая функция осуждается:

  • sel_isMapped: осуждаемый без замены

Время выполнения

Следующие функции являются осуждаемой пользой dyld:

  • objc_loadModules

  • objc_loadModule

  • objc_unloadModules

Следующие функции осуждаются:

  • objc_setClassHandler: осуждаемый без замены

  • objc_setMultithreaded: осуждаемый без замены

Следующие ранее недокументированные функции осуждаются без замены:

  • objc_getOrigClass

  • _objc_create_zone

  • _objc_error

  • _objc_flush_caches

  • _objc_resolve_categories_for_class

  • _objc_setClassLoader

  • _objc_setNilReceiver

  • _objc_getNilReceiver

  • _objcInit

Следующие недокументированные функции неизменны:

  • _objc_getFreedObjectClass

  • instrumentObjcMessageSends

  • _objc_debug_class_hash

  • _class_printDuplicateCacheEntries

  • _class_printMethodCaches

  • _class_printMethodCacheStatistics

Обмен сообщениями

Следующие функции неизменны:

Следующие функции удалены:

Протоколы

Следующие функции добавляются:

Исключения

Следующие функции неизменны:

  • objc_exception_throw

  • objc_exception_try_enter

  • objc_exception_try_exit

  • objc_exception_extract

  • objc_exception_match

  • objc_exception_get_functions

  • objc_exception_set_functions

Синхронизация

Следующие функции неизменны:

  • objc_sync_enter

  • objc_sync_exit

  • objc_sync_wait

  • objc_sync_notify

  • objc_sync_notifyAll

Эти функции только используются компилятором.

NXHashTable и NXMapTable

NXHashTable и NXMapTable неизменны. Они ограничиваются 4 миллиардами записей.

Структуры

objc_super структура неизменна:

  • struct objc_super {
  • id receiver;
  • Class super_class;
  • };

Все другие структуры, устаревшие (deprecated) в пользу непрозрачных типов и функционального API. Замены показаны в следующих таблицах.

Таблица A-1Substitutions для objc_class

Переменная

Замена

struct objc_class *isa;

object_getClass (), object_setClass ()

структура objc_class *super_class;

class_getSuperclass ()

символ константы *имя;

class_getName ()

долгая версия;

class_getVersion (), class_setVersion ()

длинная информация;

class_isMetaClass ()

длинный instance_size;

никакая замена

структура objc_ivar_list *ivars;

class_copyIvarList (), class_addIvar ()

структура objc_method_list ** methodLists;

class_copyMethodList (), class_addMethod ()

структура objc_cache *кэш;

никакая замена

структура objc_protocol_list *протоколы;

class_copyProtocolList (), class_addProtocol ()

Таблица A-2Substitutions для objc_method

Переменная

Замена

SEL method_name;

method_getName ()

символ *method_types;

method_getTypeEncoding ()

IMP method_imp;

method_getImplementation (), method_setImplementation ()

Таблица A-3Substitutions для objc_ivar

Переменная

Замена

символ *ivar_name;

ivar_getName ()

символ *ivar_type;

ivar_getTypeEncoding ()

интервал ivar_offset;

ivar_getOffset ()

Нет никаких замен для следующих структур:

  • objc_object {...};

  • objc_category {...};

  • objc_method_list {...};

  • objc_ivar_list {...};

  • objc_protocol_list {...};

  • objc_cache {...};

  • objc_module {...};

  • objc_symtab {...};