NSHashTable
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSFastEnumeration
-
NSObjectProtocol
-
Печатаемый
-
NSCoding
-
NSCopying
-
NSFastEnumeration
-
NSObject
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в iOS 6.0 и позже.
NSHashTable
моделируется после NSSet
но предоставляет различные возможности, в частности поддерживать слабые отношения.
Это может содержать слабые ссылки на свои элементы.
Его элементы могут быть скопированы на вводе или могут использовать идентификационные данные указателя для равенства и хеширования.
Это может содержать произвольные указатели (его элементы не ограничиваются к тому, чтобы быть объектами).
Можно сконфигурировать
NSHashTable
экземпляр для работы на произвольные указатели и не только возражает, несмотря на то, что обычно Вы призваны использовать функцию C API дляvoid *
указатели. (См. Хэш-таблицы для получения дополнительной информации) основанный на объектах API (такой какaddObject:
) не будет работать на необъектные указатели без преобразования типа.
Из-за его опций, NSHashTable
не набор, потому что он может вести себя по-другому (например, если равенство указателя указано два isEqual:
строки будут оба вводиться).
При конфигурировании хэш-таблиц обратите внимание на то, что только опции, перечисленные в Опциях Хэш-таблицы, гарантируют, что остальная часть API будет работать правильно — включая копирование, архивацию и быстрое перечисление. В то время как другой NSPointerFunctions
опции используются для определенных конфигураций, например, для содержания произвольных указателей, не, все комбинации опций допустимы. С некоторыми комбинациями хэш-таблица может не работать правильно или даже не может быть инициализирована правильно.
Разделение на подклассы примечаний
NSHashTable
не подходит для разделения на подклассы.
-
init (options:capacity:) - initWithOptions:capacity:
Определяемый инициализаторВозвращает хэш-таблицу, инициализированную с данными атрибутами.
Объявление
Swift
init(options
options
: NSPointerFunctionsOptions, capacitycapacity
: Int)Objective C
- (instancetype)initWithOptions:(NSPointerFunctionsOptions)
options
capacity:(NSUInteger)capacity
Параметры
options
Немного поля, указывающего опции для элементов в хэш-таблице. Для возможных значений посмотрите
“Hash Table Options”
.capacity
Начальное число элементов хэш-таблица может содержать.
Возвращаемое значение
Хэш-таблица, инициализированная с опциями, указанными
options
и начальная способностьcapacity
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
init (pointerFunctions:capacity:) - initWithPointerFunctions:capacity:
Определяемый инициализаторВозвращает хэш-таблицу, инициализированную с заданными функциями и способностью.
Объявление
Swift
init(pointerFunctions
functions
: NSPointerFunctions, capacityinitialCapacity
: Int)Objective C
- (instancetype)initWithPointerFunctions:(NSPointerFunctions *)
functions
capacity:(NSUInteger)initialCapacity
Параметры
functions
Указатель функционирует для новой хэш-таблицы.
initialCapacity
Начальная способность хэш-таблицы.
Возвращаемое значение
Хэш-таблица, инициализированная с заданными функциями и способностью.
Обсуждение
Хэш-таблицы выделяют дополнительную память по мере необходимости, таким образом,
initialCapacity
просто устанавливает начальную способность объекта.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
Возвращает новую хэш-таблицу для хранения слабых ссылок на его содержание.
Объявление
Swift
class func weakObjectsHashTable() -> NSHashTable
Objective C
+ (NSHashTable *)weakObjectsHashTable
Возвращаемое значение
Новое имеет таблицу, использующую опции
NSHashTableZeroingWeakMemory
иNSPointerFunctionsObjectPersonality
и имеет начальную способность0
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
Возвращает хэш-таблицу с данными опциями функций подсказки.
Объявление
Swift
init(options
options
: NSPointerFunctionsOptions) -> NSHashTableObjective C
+ (NSHashTable *)hashTableWithOptions:(NSPointerFunctionsOptions)
options
Параметры
options
Немного поля, указывающего опции для элементов в хэш-таблице. Для возможных значений посмотрите
“Hash Table Options”
.Возвращаемое значение
Хэш-таблица с данными опциями функций подсказки.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
allObjects
СвойствоЭлементы хэш-таблицы. (только для чтения)
Объявление
Swift
var allObjects: [AnyObject] { get }
Objective C
@property(readonly, copy) NSArray *allObjects
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
anyObject
СвойствоОдин из объектов в хэш-таблице. (только для чтения)
Объявление
Swift
var anyObject: AnyObject? { get }
Objective C
@property(nonatomic, readonly) id anyObject
Обсуждение
Один из объектов в хэш-таблице, или
nil
если хэш-таблица не содержит объектов.Объект возвратился, выбран в удобстве хэш-таблицы — выбор, как гарантируют, не будет случаен.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
Возвращает булево значение, указывающее, содержит ли хэш-таблица данный объект.
Объявление
Swift
func containsObject(_
anObject
: AnyObject) -> BoolObjective C
- (BOOL)containsObject:(id)
anObject
Параметры
anObject
Объект протестировать на членство в хэш-таблице.
Возвращаемое значение
YES
true
если хэш-таблица содержитanObject
, иначеNO
false
.Обсуждение
Используемый тест равенства зависит от выбранной опции индивидуальности. Например, выбор
NSPointerFunctionsObjectPersonality
опция будет использоватьisEqual:
определить равенство. ПосмотритеNSPointerFunctionsOptions
для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
count
СвойствоЧисло элементов в хэш-таблице. (только для чтения)
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
Определяет, содержит ли хэш-таблица данный объект и возвраты, возражающие, присутствует ли она
Объявление
Swift
func member(_
object
: AnyObject) -> AnyObject?Objective C
- (id)member:(id)
object
Параметры
object
Объект протестировать на членство в хэш-таблице.
Возвращаемое значение
Если
object
элемент хэш-таблицы, возвратовobject
, иначе возвратыnil
.Обсуждение
Используемый тест равенства зависит от выбранной опции индивидуальности. Например, выбор
NSPointerFunctionsObjectPersonality
опция будет использоватьisEqual:
определить равенство. ПосмотритеNSPointerFunctionsOptions
для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
Возвращает объект перечислителя, позволяющий Вам доступ каждый объект в хэш-таблице.
Объявление
Swift
func objectEnumerator() -> NSEnumerator
Objective C
- (NSEnumerator *)objectEnumerator
Возвращаемое значение
Объект перечислителя, позволяющий Вам доступ каждый объект в хэш-таблице.
Обсуждение
Следующий фрагмент кода иллюстрирует, как можно использовать этот метод.
NSEnumerator *enumerator = [myHashTable objectEnumerator];
id value;
while ((value = [enumerator nextObject])) {
/* code that acts on the hash table's values */
}
Специальные замечания
Более эффективно использовать быстрый протокол перечисления (см.
NSFastEnumeration
).Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
setRepresentation
Свойство
-
Добавляет данный объект к хэш-таблице.
Объявление
Swift
func addObject(_
object
: AnyObject)Objective C
- (void)addObject:(id)
object
Параметры
object
Объект добавить к хэш-таблице.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
Удаляет все объекты из хэш-таблицы.
Объявление
Swift
func removeAllObjects()
Objective C
- (void)removeAllObjects
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
Удаляет данный объект из хэш-таблицы.
Объявление
Swift
func removeObject(_
object
: AnyObject)Objective C
- (void)removeObject:(id)
object
Параметры
object
Объект удалить из хэш-таблицы.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
Возвращает булево значение, указывающее, пересекается ли данная хэш-таблица с хэш-таблицей получения.
Объявление
Swift
func intersectsHashTable(_
other
: NSHashTable) -> BoolObjective C
- (BOOL)intersectsHashTable:(NSHashTable *)
other
Параметры
other
Хэш-таблица, с которой можно сравнить хэш-таблицу получения.
Возвращаемое значение
YES
true
еслиother
пересекается с хэш-таблицей получения, иначеNO
false
.Обсуждение
Тест равенства, используемый для элементов, зависит от выбранной опции индивидуальности. Например, выбор
NSPointerFunctionsObjectPersonality
опция будет использоватьisEqual:
определить равенство. ПосмотритеNSPointerFunctionsOptions
для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
Удаляет из хэш-таблицы получения каждый элемент, который не является элементом другой данной хэш-таблицы.
Объявление
Swift
func intersectHashTable(_
other
: NSHashTable)Objective C
- (void)intersectHashTable:(NSHashTable *)
other
Параметры
other
Хэш-таблица, с которой можно выполнить пересечение.
Обсуждение
Тест равенства, используемый для элементов, зависит от выбранной опции индивидуальности. Например, выбор
NSPointerFunctionsObjectPersonality
опция будет использоватьisEqual:
определить равенство. ПосмотритеNSPointerFunctionsOptions
для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
Возвращает булево значение, указывающее, равна ли данная хэш-таблица хэш-таблице получения.
Объявление
Swift
func isEqualToHashTable(_
other
: NSHashTable) -> BoolObjective C
- (BOOL)isEqualToHashTable:(NSHashTable *)
other
Параметры
other
Хэш-таблица, с которой можно сравнить хэш-таблицу получения.
Возвращаемое значение
YES
true
если содержаниеother
равны содержанию хэш-таблицы получения, иначеNO
false
.Обсуждение
Две хэш-таблицы имеют равное содержание, если у каждого из них есть то же число членов и если каждый элемент одной хэш-таблицы присутствует в другом.
Тест равенства, используемый для элементов, зависит от выбранной опции индивидуальности. Например, выбор
NSPointerFunctionsObjectPersonality
опция будет использоватьisEqual:
определить равенство. ПосмотритеNSPointerFunctionsOptions
для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
Возвращает булево значение, указывающее, присутствует ли каждый элемент в хэш-таблице получения также в другой данной хэш-таблице.
Объявление
Swift
func isSubsetOfHashTable(_
other
: NSHashTable) -> BoolObjective C
- (BOOL)isSubsetOfHashTable:(NSHashTable *)
other
Параметры
other
Хэш-таблица, с которой можно сравнить хэш-таблицу получения.
Возвращаемое значение
YES
true
если каждый элемент в хэш-таблице получения также присутствует вother
, иначеNO
false
.Обсуждение
Тест равенства, используемый для элементов, зависит от выбранной опции индивидуальности. Например, выбор
NSPointerFunctionsObjectPersonality
опция будет использоватьisEqual:
определить равенство. ПосмотритеNSPointerFunctionsOptions
для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
Удаляет каждый элемент в другой данной хэш-таблице из хэш-таблицы получения, если существующий.
Объявление
Swift
func minusHashTable(_
other
: NSHashTable)Objective C
- (void)minusHashTable:(NSHashTable *)
other
Параметры
other
Хэш-таблица элементов для удаления из хэш-таблицы получения.
Обсуждение
Тест равенства, используемый для элементов, зависит от выбранной опции индивидуальности. Например, выбор
NSPointerFunctionsObjectPersonality
опция будет использоватьisEqual:
определить равенство. ПосмотритеNSPointerFunctionsOptions
для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
Добавляет каждый элемент в другой данной хэш-таблице к хэш-таблице получения, если не существующий.
Объявление
Swift
func unionHashTable(_
other
: NSHashTable)Objective C
- (void)unionHashTable:(NSHashTable *)
other
Параметры
other
Хэш-таблица элементов для добавления к хэш-таблице получения.
Обсуждение
Тест равенства, используемый для элементов, зависит от выбранной опции индивидуальности. Например, выбор
NSPointerFunctionsObjectPersonality
опция будет использоватьisEqual:
определить равенство. ПосмотритеNSPointerFunctionsOptions
для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
pointerFunctions
СвойствоУказатель функционирует для хэш-таблицы. (только для чтения)
Объявление
Swift
@NSCopying var pointerFunctions: NSPointerFunctions { get }
Objective C
@property(readonly, copy) NSPointerFunctions *pointerFunctions
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
Компоненты в битовом поле для указания поведения элементов в
NSHashTable
объект.Объявление
Swift
typealias NSHashTableOptions = Int
Objective C
enum { NSHashTableStrongMemory = 0, NSHashTableCopyIn = NSPointerFunctionsCopyIn, NSHashTableObjectPointerPersonality = NSPointerFunctionsObjectPointerPersonality, NSHashTableWeakMemory = NSPointerFunctionsWeakMemory }; typedef NSUInteger NSHashTableOptions;
Константы
-
NSHashTableStrongMemory
Равный
NSPointerFunctionsStrongMemory
.Доступный в iOS 6.0 и позже.
-
NSHashTableCopyIn
Равный
NSPointerFunctionsCopyIn
.Доступный в iOS 6.0 и позже.
-
NSHashTableObjectPointerPersonality
Доступный в iOS 6.0 и позже.
-
NSHashTableWeakMemory
Равный
NSPointerFunctionsWeakMemory
. Использует слабое чтение и барьеры записи, подходящие для ARC или GC. ИспользуяNSPointerFunctionsWeakMemory
ссылки на объект повернутся кNULL
на последнем выпуске.Доступный в iOS 6.0 и позже.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-