NSMutableDictionary
NSMutableDictionary класс объявляет программируемый интерфейс к объектам, управляющим непостоянными ассоциациями ключей и значений. Это добавляет операции модификации к основным операциям, от которых это наследовалось NSDictionary. NSMutableDictionary “бесплатный соединенный мостом” с его Базовым дубликатом Основы, CFMutableDictionaryRef. Посмотрите Бесплатное Образование моста для получения дополнительной информации.
Разделение на подклассы примечаний
Должно обычно быть мало потребности разделить на подклассы NSMutableDictionary. Если действительно необходимо настроить поведение, часто лучше рассмотреть состав вместо разделения на подклассы.
Методы для переопределения
В подклассе необходимо переопределить оба из его примитивных методов:
Необходимо также переопределить примитивные методы NSDictionary класс.
Соответствует
-
AnyObject -
CVarArgType -
DictionaryLiteralConvertible -
Сопоставимый -
Hashable -
NSCoding -
NSCopying -
NSFastEnumeration -
NSMutableCopying -
NSObjectProtocol -
NSSecureCoding -
Печатаемый -
Reflectable -
SequenceType -
NSCopying -
NSFastEnumeration -
NSMutableCopying -
NSObject -
NSSecureCoding
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Создает и возвращает непостоянный словарь, первоначально давая ему достаточно выделенной памяти для содержания данного числа записей.
Объявление
Objective C
+ (instancetype)dictionaryWithCapacity:(NSUInteger)numItemsПараметры
numItemsНачальная способность нового словаря.
Возвращаемое значение
Новый непостоянный словарь с достаточным количеством выделенной памяти для содержания
numItemsзаписи.Обсуждение
Непостоянные словари выделяют дополнительную память по мере необходимости, таким образом,
numItemsпросто устанавливает начальную способность объекта.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
dictionary(NSDictionary)dictionaryWithContentsOfFile:(NSDictionary)dictionaryWithContentsOfURL:: (NSDictionary)dictionaryWithObject:forKey:(NSDictionary)dictionaryWithObjects:forKeys:: (NSDictionary)dictionaryWithObjects:forKeys:count:(NSDictionary)dictionaryWithObjectsAndKeys:(NSDictionary)– initWithCapacity: -
init (способность:) - initWithCapacity:Определяемый инициализаторИнициализирует недавно выделенный непостоянный словарь, выделяя достаточно памяти для содержания
numItemsзаписи.Объявление
Swift
init(capacitynumItems: Int)Objective C
- (instancetype)initWithCapacity:(NSUInteger)numItemsПараметры
numItemsНачальная способность инициализированного словаря.
Возвращаемое значение
Инициализированный непостоянный словарь, который мог бы отличаться, чем исходный получатель.
Обсуждение
Непостоянные словари выделяют дополнительную память по мере необходимости, таким образом,
numItemsпросто устанавливает начальную способность объекта.Этот метод является определяемым инициализатором
NSMutableDictionary.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Инициализирует недавно выделенный непостоянный словарь.
Объявление
Swift
init()Objective C
- (instancetype)initВозвращаемое значение
Непостоянный словарь.
Обсуждение
Этот метод является определяемым инициализатором
NSMutableDictionary.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.9 и позже.
См. также
-
Создает непостоянный словарь, оптимизированный для контакта с известным набором ключей.
Объявление
Swift
init(sharedKeySetkeyset: AnyObject) -> NSMutableDictionaryObjective C
+ (NSMutableDictionary *)dictionaryWithSharedKeySet:(id)keysetПараметры
keysetkeyset, создаваемыйNSDictionaryметод классаsharedKeySetForKeys:.Возвращаемое значение
Новый непостоянный словарь оптимизирован для известного набора ключей.
Обсуждение
Ключи, которые не находятся в наборе ключей, могут все еще быть установлены в словаре, но то использование не оптимально.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.8 и позже.
-
Добавляет данная пара ключ/значение к словарю.
Объявление
Swift
func setObject(_anObject: AnyObject, forKeyaKey: NSCopying)Objective C
- (void)setObject:(id)anObjectforKey:(id<NSCopying>)aKeyПараметры
anObjectaKeyКлюч для
value. Ключ копируется (использованиеcopyWithZone:; ключи должны соответствоватьNSCopyingпротокол). ЕслиaKeyуже существует в словаре,anObjectзанимает его место.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Добавляет данная пара ключ/значение к словарю.
Объявление
Objective C
- (void)setObject:(id)objectforKeyedSubscript:(id<NSCopying>)aKeyПараметры
objectaKeyКлюч для
value. Ключ копируется (использованиеcopyWithZone:; ключи должны соответствоватьNSCopyingпротокол). ЕслиaKeyуже существует в словаре,anObjectзанимает его место.Обсуждение
Этот метод идентичен
setObject:forKey:.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.8 и позже.
См. также
-
Добавляет данная пара ключ/значение к словарю.
Объявление
Swift
func setValue(_value: AnyObject?, forKeykey: String)Objective C
- (void)setValue:(id)valueforKey:(NSString *)keyПараметры
valueЗначение для
key.keyКлюч для
value. Обратите внимание на то, что при использовании кодирования значения ключа, ключ должен быть строкой (см., что Значение ключа Кодирует Основные принципы).Обсуждение
Этот метод добавляет
valueиkeyк использованию словаряsetObject:forKey:, еслиvaluenilкогда метод вместо этого пытается удалитьkeyиспользованиеremoveObjectForKey:.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.3 и позже.
См. также
valueForKey:(NSDictionary) -
Добавляет к словарю получения записи из другого словаря.
Объявление
Swift
func addEntriesFromDictionary(_otherDictionary: [NSObject : AnyObject])Objective C
- (void)addEntriesFromDictionary:(NSDictionary *)otherDictionaryПараметры
otherDictionaryСловарь, из которого можно добавить записи
Обсуждение
Каждый объект значения от
otherDictionaryотправляется aretainсообщение прежде чем быть добавленным к словарю получения. Напротив, каждый ключевой объект копируется (использованиеcopyWithZone:— ключи должны соответствоватьNSCopyingпротокол), и копия добавляется к словарю получения.Если оба словаря содержат тот же ключ, предыдущий объект значения словаря получения для того ключа отправляется a
releaseсообщение и новый объект значения занимают свое место.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Устанавливает содержание словаря получения к записям в данном словаре.
Объявление
Swift
func setDictionary(_otherDictionary: [NSObject : AnyObject])Objective C
- (void)setDictionary:(NSDictionary *)otherDictionaryПараметры
otherDictionaryСловарь, содержащий новые записи.
Обсуждение
Все записи удалены из словаря получения (с
removeAllObjects), тогда каждая запись отotherDictionaryдобавленный в словарь получения.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Удаляет данный ключ и его присваиваемое значение из словаря.
Объявление
Swift
func removeObjectForKey(_aKey: AnyObject)Objective C
- (void)removeObjectForKey:(id)aKeyОбсуждение
Ничего не делает если
aKeyне существует.Например, предположите, что у Вас есть заархивированный словарь, записывающий позывные и связанные частоты радиостанций. Для удаления записи для более не существующей станции Вы могли записать код, подобный следующему:
NSMutableDictionary *stations = nil;stations = [[NSMutableDictionary alloc]initWithContentsOfFile: pathToArchive];[stations removeObjectForKey:@"KIKT"];
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Освобождает словарь от его записей.
Объявление
Swift
func removeAllObjects()Objective C
- (void)removeAllObjectsОбсуждение
Каждый ключевой и соответствующий объект значения отправляется a
releaseсообщение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Удаляет из словарных статей, указанных элементами в данном массиве.
Объявление
Swift
func removeObjectsForKeys(_keyArray: [AnyObject])Objective C
- (void)removeObjectsForKeys:(NSArray *)keyArrayПараметры
keyArrayМассив объектов, указывающих ключи для удаления.
Обсуждение
Если ключ
keyArrayне существует, запись проигнорирована.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
