Дельта версии 10.5 OS X
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import ObjectiveC
Objective C
@import Foundation;
Функции времени выполнения
Основные типы
arith_t: Измененный от int к intptr_t.
uarith_t: Измененный от unsigned к uintptr_t.
Экземпляры
Следующие функции неизменны:
Следующая функция изменяется:
object_copy(nBytesпараметр изменяется отunsignedкsize_t.)
Следующие функции добавляются:
Следующие функции осуждаются:
object_copyFromZone: осуждаемый в пользу
object_copyobject_realloc
object_reallocFromZone: никакая замена
_alloc: никакая замена
_copy: никакая замена
_realloc: никакая замена
_dealloc: никакая замена
_zoneAlloc: никакая замена
_zoneRealloc: никакая замена
_zoneCopy: никакая замена
_error: никакая замена
Проверка класса
Следующие функции неизменны:
Следующая функция изменяется:
class_createInstance:
idxIvarsпараметр, Измененный отunsignedкsize_t
Следующие функции добавляются:
Следующие функции осуждаются:
objc_getClasses: осуждаемый в пользуobjc_getClassListclass_createInstanceFromZone: осуждаемый в пользуclass_createInstanceclass_nextMethodList: осуждаемый в пользу новогоclass_copyMethodListclass_lookupMethod: осуждаемый в пользуclass_getMethodImplementationclass_respondsToMethod: осуждаемый в пользуclass_respondsToSelector
Следующая функция используется только ZeroLink:
objc_getRequiredClass
Манипулирование классом
Следующая функция неизменна:
Следующие функции добавляются:
Следующие функции осуждаются:
objc_addClass: осуждаемый в пользуobjc_allocateClassPairиobjc_registerClassPairclass_addMethods: осуждаемый в пользу новогоclass_addMethodclass_removeMethods: осуждаемый без заменыclass_poseAs: осуждаемый в пользу категорий иmethod_setImplementation
Методы
Следующая функция неизменна:
Следующие функции добавляются:
Следующие функции осуждаются:
method_getArgumentInfomethod_getSizeOfArguments
Переменные экземпляра
Следующие функции добавляются:
Селекторы
Следующие функции неизменны:
Следующая функция добавляется:
Следующая функция осуждается:
sel_isMapped: осуждаемый без замены
Время выполнения
Следующие функции являются осуждаемой пользой dyld:
objc_loadModulesobjc_loadModuleobjc_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. Замены показаны в следующих таблицах.
Переменная |
Замена |
|---|---|
|
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 () |
Переменная |
Замена |
|---|---|
SEL method_name; |
method_getName () |
символ *method_types; |
method_getTypeEncoding () |
IMP method_imp; |
method_getImplementation (), method_setImplementation () |
Переменная |
Замена |
|---|---|
символ *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 {...};
