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(options
options
: 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: Bool
Objective C
@property BOOL usesStrongWriteBarrier
Обсуждение
При использовании сборки «мусора» считайте и запишите, что барьерные функции должны использоваться, когда указатели из памяти сканируются коллектором.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Указывает, должны ли в собравшей «мусор» среде указатели использовать слабое чтение и барьеры записи.
Объявление
Swift
var usesWeakReadAndWriteBarriers: Bool
Objective C
@property BOOL usesWeakReadAndWriteBarriers
Обсуждение
При использовании сборки «мусора» считайте и запишите, что барьерные функции должны использоваться, когда указатели из памяти сканируются коллектором.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.5 и позже.
См. также
Типы данных
-
Определяет память и опции индивидуальности для
NSPointerFunctions
объект.Объявление
Swift
typealias NSPointerFunctionsOptions = Int
Objective 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), };
Константы
-
NSPointerFunctionsStrongMemory
NSPointerFunctionsStrongMemory
Используйте сильные барьеры записи для запоминающего устройства; используйте собрал «мусор» память на копии - в.
Это - значение памяти по умолчанию.
Как особый случай, если Вы не используете сборку «мусора» и указываете это значение в сочетании с
NSPointerFunctionsObjectPersonality
илиNSPointerFunctionsObjectPointerPersonality
тогдаNSPointerFunctions
объектное использованиеretain
иrelease
.Если Вы не используете сборку «мусора» и указываете это значение в сочетании с допустимой необъектной индивидуальностью, это совпадает с указанием
NSPointerFunctionsMallocMemory
.Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsZeroingWeakMemory
NSPointerFunctionsZeroingWeakMemory
Используйте слабое чтение и барьеры записи; используйте собрал «мусор» память на копировании.
Если Вы не будете использовать сборку «мусора» для объектных лиц, то она будет содержать несохраненный объектный указатель.
Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.8.
-
NSPointerFunctionsOpaqueMemory
NSPointerFunctionsOpaqueMemory
Не примите меры, когда будут удалены указатели.
Это обычно - предпочтительный параметр памяти для содержания произвольных указателей.
Это по существу, не оставляют функцию; получать функция только используется для копии - в операциях. Эта опция маловероятна, чтобы быть хорошим выбором для объектов.
Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsMallocMemory
NSPointerFunctionsMallocMemory
Использовать
free()
на удалении,calloc()
на копии в.Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsMachVirtualMemory
NSPointerFunctionsMachVirtualMemory
Используйте память Маха.
Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsWeakMemory
NSPointerFunctionsWeakMemory
Использует слабое чтение и барьеры записи, подходящие для ARC или GC. Используя NSPointerFunctionsWeakMemory ссылки на объект повернутся к
NULL
на последнем выпуске.Доступный в OS X v10.8 и позже.
-
NSPointerFunctionsObjectPersonality
NSPointerFunctionsObjectPersonality
Использовать
hash
иisEqual
методы для хеширования и сравнений равенства, используйтеdescription
метод для описания.Это - значение индивидуальности по умолчанию.
Как особый случай, если Вы не используете сборку «мусора» и указываете это значение в сочетании с
NSPointerFunctionsStrongMemory
тогдаNSPointerFunctions
объектное использованиеretain
иrelease
.Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsOpaquePersonality
NSPointerFunctionsOpaquePersonality
Используйте смещенный указатель для значения хэш-функции и прямого сравнения для определения равенства.
Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsObjectPointerPersonality
NSPointerFunctionsObjectPointerPersonality
Используйте смещенный указатель для значения хэш-функции и прямого сравнения для определения равенства; используйте
description
метод для описания.Как особый случай, если Вы не используете сборку «мусора» и указываете это значение в сочетании с
NSPointerFunctionsStrongMemory
тогдаNSPointerFunctions
объектное использованиеretain
иrelease
.Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsCStringPersonality
NSPointerFunctionsCStringPersonality
Используйте строковый хеш и
strcmp
; Струна до'%s
'описание стиля.Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsStructPersonality
NSPointerFunctionsStructPersonality
Используйте хеш памяти и
memcmp
(использование функции размера, которую необходимо установить — видитsizeFunction
).Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsIntegerPersonality
NSPointerFunctionsIntegerPersonality
Используйте несмещенное значение в качестве хеша и равенства.
Доступный в OS X v10.5 и позже.
-
NSPointerFunctionsCopyIn
NSPointerFunctionsCopyIn
Использование память получает функцию, чтобы выделить и скопировать элементы на вводе (см.
acquireFunction
).Доступный в OS X v10.5 и позже.
Обсуждение
Параметры памяти являются взаимоисключающими, и опции индивидуальности являются взаимоисключающими.
-