NSPointerFunctions
Экземпляр NSPointerFunctions определяет функции выноски, подходящие для управления ссылкой указателя, сохраненной где-то в другом месте.
Функции, указанные экземпляром NSPointerFunctions разделены на два кластера — те, которые определяют «индивидуальность», такую как «объект» или "струна до”, и те, которые описывают проблемы управления памятью, такие как функция освобождения памяти. Существуют константы для общих лиц и выборов диспетчера памяти (см. Опции Памяти и Индивидуальности).
NSHashTable, NSMapTable, и NSPointerArray используйте NSPointerFunctions объект определить поведение сбора и отставания для указателей они управляют. Отметьте, однако, что не все комбинации индивидуальности и поведения управления памятью допустимы для этих наборов. Объекты коллекции указателя копируют NSPointerFunctions объект на вводе и выводе, таким образом, Вы не можете полезно разделить на подклассы NSPointerFunctions.
Разделение на подклассы примечаний
NSPointerFunctions не подходит для разделения на подклассы.
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCopying -
NSObjectProtocol -
Печатаемый -
NSCopying -
NSObject
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.5 и позже.
-
init (опции:) - initWithOptions:Определяемый инициализаторВозвраты
NSPointerFunctionsобъект инициализируется с данными опциями.Объявление
Swift
init(optionsoptions: NSPointerFunctionsOptions)Objective C
- (instancetype)initWithOptions:(NSPointerFunctionsOptions)optionsПараметры
optionsОпции для нового
NSPointerFunctionsобъект.Возвращаемое значение
NSPointerFunctionsобъект, инициализированный с данными опциями.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
-
Возвращает новое
NSPointerFunctionsобъект инициализируется с данными опциями.Объявление
Objective C
+ (NSPointerFunctions *)pointerFunctionsWithOptions:(NSPointerFunctionsOptions)optionsПараметры
optionsОпции для нового
NSPointerFunctionsобъект.Возвращаемое значение
Новое
NSPointerFunctionsобъект инициализируется с данными опциями.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.5 и позже.
-
hashFunction hashFunctionСвойствоХеш-функция.
Объявление
Swift
var hashFunction: CFunctionPointer<((UnsafePointer<Void>, CFunctionPointer<((UnsafePointer<Void>) -> Int)>) -> Int)>Objective C
@property NSUInteger (*hashFunction)(const void *item, NSUInteger (*size)(const void *item))Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
-
isEqualFunction isEqualFunctionСвойствоФункция раньше сравнивала указатели.
Объявление
Swift
var isEqualFunction: CFunctionPointer<((UnsafePointer<Void>, UnsafePointer<Void>, CFunctionPointer<((UnsafePointer<Void>) -> Int)>) -> Bool)>Objective C
@property BOOL (*isEqualFunction)(const void *item1, const void *item2, NSUInteger (*size)(const void *item))Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
-
sizeFunction sizeFunctionСвойствоФункция раньше определяла размер указателей.
Объявление
Swift
var sizeFunction: CFunctionPointer<((UnsafePointer<Void>) -> Int)>Objective C
@property NSUInteger (*sizeFunction)(const void *item)Обсуждение
Эта функция используется для копии - в операциях (если набор не имеет объектную индивидуальность).
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
-
descriptionFunction descriptionFunctionСвойствоФункция раньше описывала элементы.
Объявление
Swift
var descriptionFunction: CFunctionPointer<((UnsafePointer<Void>) -> String!)>Objective C
@property NSString *(*descriptionFunction)(const void *item)Обсуждение
Эта функция используется по описанию методы для таблиц карты и хеша.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
-
acquireFunction acquireFunctionСвойствоФункция раньше получала память.
Объявление
Swift
var acquireFunction: CFunctionPointer<((UnsafePointer<Void>, CFunctionPointer<((UnsafePointer<Void>) -> Int)>, Bool) -> UnsafeMutablePointer<Void>)>Objective C
@property void *(*acquireFunction)(const void *src, NSUInteger (*size)(const void *item), BOOL shouldCopy)Обсуждение
Это указывает функцию для использования для копии - в операциях.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
См. также
-
relinquishFunction relinquishFunctionСвойствоФункция раньше оставляла память.
Объявление
Swift
var relinquishFunction: CFunctionPointer<((UnsafePointer<Void>, CFunctionPointer<((UnsafePointer<Void>) -> Int)>) -> Void)>Objective C
@property void (*relinquishFunction)(const void *item, NSUInteger (*size)(const void *item))Обсуждение
Когда элемент удален из таблицы или массива указателей, это указывает функцию для использования.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Указывает, должны ли в собравшей «мусор» среде указатели быть присвоены с помощью сильного барьера записи.
Объявление
Swift
var usesStrongWriteBarrier: BoolObjective C
@property BOOL usesStrongWriteBarrierОбсуждение
При использовании сборки «мусора» считайте и запишите, что барьерные функции должны использоваться, когда указатели из памяти сканируются коллектором.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Указывает, должны ли в собравшей «мусор» среде указатели использовать слабое чтение и барьеры записи.
Объявление
Swift
var usesWeakReadAndWriteBarriers: BoolObjective C
@property BOOL usesWeakReadAndWriteBarriersОбсуждение
При использовании сборки «мусора» считайте и запишите, что барьерные функции должны использоваться, когда указатели из памяти сканируются коллектором.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
См. также
Типы данных
-
Определяет память и опции индивидуальности для
NSPointerFunctionsобъект.Объявление
Swift
typealias NSPointerFunctionsOptions = IntObjective C
typedef NSUInteger NSPointerFunctionsOptions;Обсуждение
Для значений посмотрите Опции Памяти и Индивидуальности.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
-
Укажите память и опции индивидуальности для
NSPointerFunctionsобъект.Объявление
Swift
var NSPointerFunctionsStrongMemory: Int { get } var NSPointerFunctionsOpaqueMemory: Int { get } var NSPointerFunctionsMallocMemory: Int { get } var NSPointerFunctionsMachVirtualMemory: Int { get } var NSPointerFunctionsWeakMemory: Int { get } var NSPointerFunctionsObjectPersonality: Int { get } var NSPointerFunctionsOpaquePersonality: Int { get } var NSPointerFunctionsObjectPointerPersonality: Int { get } var NSPointerFunctionsCStringPersonality: Int { get } var NSPointerFunctionsStructPersonality: Int { get } var NSPointerFunctionsIntegerPersonality: Int { get } var NSPointerFunctionsCopyIn: Int { get }Objective C
enum { NSPointerFunctionsStrongMemory = (0 << 0), NSPointerFunctionsZeroingWeakMemory = (1 << 0), NSPointerFunctionsOpaqueMemory = (2 << 0), NSPointerFunctionsMallocMemory = (3 << 0), NSPointerFunctionsMachVirtualMemory = (4 << 0), NSPointerFunctionsWeakMemory = (5UL << 0), NSPointerFunctionsObjectPersonality = (0 << 8), NSPointerFunctionsOpaquePersonality = (1 << 8), NSPointerFunctionsObjectPointerPersonality = (2 << 8), NSPointerFunctionsCStringPersonality = (3 << 8), NSPointerFunctionsStructPersonality = (4 << 8), NSPointerFunctionsIntegerPersonality = (5 << 8), NSPointerFunctionsCopyIn = (1 << 16), };Константы
-
NSPointerFunctionsStrongMemoryNSPointerFunctionsStrongMemoryИспользуйте сильные барьеры записи для запоминающего устройства; используйте собрал «мусор» память на копии - в.
Это - значение памяти по умолчанию.
Как особый случай, если Вы не используете сборку «мусора» и указываете это значение в сочетании с
NSPointerFunctionsObjectPersonalityилиNSPointerFunctionsObjectPointerPersonalityтогдаNSPointerFunctionsобъектное использованиеretainиrelease.Если Вы не используете сборку «мусора» и указываете это значение в сочетании с допустимой необъектной индивидуальностью, это совпадает с указанием
NSPointerFunctionsMallocMemory.Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsZeroingWeakMemoryNSPointerFunctionsZeroingWeakMemoryИспользуйте слабое чтение и барьеры записи; используйте собрал «мусор» память на копировании.
Если Вы не будете использовать сборку «мусора» для объектных лиц, то она будет содержать несохраненный объектный указатель.
Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.8.
-
NSPointerFunctionsOpaqueMemoryNSPointerFunctionsOpaqueMemoryНе примите меры, когда будут удалены указатели.
Это обычно - предпочтительный параметр памяти для содержания произвольных указателей.
Это по существу, не оставляют функцию; получать функция только используется для копии - в операциях. Эта опция маловероятна, чтобы быть хорошим выбором для объектов.
Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsMallocMemoryNSPointerFunctionsMallocMemoryИспользовать
free()на удалении,calloc()на копии в.Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsMachVirtualMemoryNSPointerFunctionsMachVirtualMemoryИспользуйте память Маха.
Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsWeakMemoryNSPointerFunctionsWeakMemoryИспользует слабое чтение и барьеры записи, подходящие для ARC или GC. Используя NSPointerFunctionsWeakMemory ссылки на объект повернутся к
NULLна последнем выпуске.Доступный в OS X v10.8 и позже.
-
NSPointerFunctionsObjectPersonalityNSPointerFunctionsObjectPersonalityИспользовать
hashиisEqualметоды для хеширования и сравнений равенства, используйтеdescriptionметод для описания.Это - значение индивидуальности по умолчанию.
Как особый случай, если Вы не используете сборку «мусора» и указываете это значение в сочетании с
NSPointerFunctionsStrongMemoryтогдаNSPointerFunctionsобъектное использованиеretainиrelease.Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsOpaquePersonalityNSPointerFunctionsOpaquePersonalityИспользуйте смещенный указатель для значения хэш-функции и прямого сравнения для определения равенства.
Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsObjectPointerPersonalityNSPointerFunctionsObjectPointerPersonalityИспользуйте смещенный указатель для значения хэш-функции и прямого сравнения для определения равенства; используйте
descriptionметод для описания.Как особый случай, если Вы не используете сборку «мусора» и указываете это значение в сочетании с
NSPointerFunctionsStrongMemoryтогдаNSPointerFunctionsобъектное использованиеretainиrelease.Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsCStringPersonalityNSPointerFunctionsCStringPersonalityИспользуйте строковый хеш и
strcmp; Струна до'%s'описание стиля.Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsStructPersonalityNSPointerFunctionsStructPersonalityИспользуйте хеш памяти и
memcmp(использование функции размера, которую необходимо установить — видитsizeFunction).Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsIntegerPersonalityNSPointerFunctionsIntegerPersonalityИспользуйте несмещенное значение в качестве хеша и равенства.
Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsCopyInNSPointerFunctionsCopyInИспользование память получает функцию, чтобы выделить и скопировать элементы на вводе (см.
acquireFunction).Доступный в OS X v10.5 и позже.
Обсуждение
Параметры памяти являются взаимоисключающими, и опции индивидуальности являются взаимоисключающими.
-
