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(capacity
numItems
: 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(sharedKeySet
keyset
: AnyObject) -> NSMutableDictionaryObjective C
+ (NSMutableDictionary *)dictionaryWithSharedKeySet:(id)
keyset
Параметры
keyset
keyset
, создаваемый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)
anObject
forKey:(id<NSCopying>)aKey
Параметры
anObject
aKey
Ключ для
value
. Ключ копируется (использованиеcopyWithZone:
; ключи должны соответствоватьNSCopying
протокол). ЕслиaKey
уже существует в словаре,anObject
занимает его место.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Добавляет данная пара ключ/значение к словарю.
Объявление
Objective C
- (void)setObject:(id)
object
forKeyedSubscript:(id<NSCopying>)aKey
Параметры
object
aKey
Ключ для
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)
value
forKey:(NSString *)key
Параметры
value
Значение для
key
.key
Ключ для
value
. Обратите внимание на то, что при использовании кодирования значения ключа, ключ должен быть строкой (см., что Значение ключа Кодирует Основные принципы).Обсуждение
Этот метод добавляет
value
иkey
к использованию словаряsetObject:forKey:
, еслиvalue
nil
когда метод вместо этого пытается удалить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 и позже.