Samond Classes Library 1.2.1-RELEASE build 181
SCDictionary.h
См. документацию.
1 //
2 // SCDictionary.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 13.04.12.
6 // Copyright (c) 2007 - 2017 by Samond Development Corporation. All rights reserved.
7 //
8 
22 #import <scl/SCCollection.h>
23 
24 #pragma mark -
25 #pragma mark Class Constants
26 
30 #define SCDictionaryClass @"SCDictionary"
31 
32 
71 @interface SCDictionary : SCCollection {
72  NSMutableDictionary *fDictionary; // Internal data storage
73 }
74 
98 @property (nonatomic, retain, readonly, getter=allKeys) SCArray *allKeys;
99 
104 @property (nonatomic, retain, readonly, getter=allValues) SCArray *allValues;
105 
119 @property (nonatomic, retain, readonly, getter=keyEnumerator) NSEnumerator *keyEnumerator;
120 
123 #pragma mark -
124 #pragma mark Creating Dictionaries
125 + (instancetype)dictionaryWithCoder:(NSCoder *)coder;
126 + (instancetype)dictionaryWithContentsOfSerializedFile:(NSString *)path;
127 + (instancetype)dictionaryWithDataDictionary:(NSDictionary *)dictionary;
128 + (instancetype)dictionaryWithDataDictionaryFromFile:(NSString *)path;
129 + (instancetype)dictionaryWithStream:(SCStream *)stream;
130 + (instancetype)dictionaryWithFileStream:(NSString *)path;
131 
132 + (instancetype)dictionaryWithName:(NSString *)name;
133 + (instancetype)dictionaryWithObject:(id<SCCollectioning>)object forKey:(NSString *)key;
134 + (instancetype)dictionaryWithObject:(id<SCCollectioning>)object;
135 + (instancetype)dictionaryWithObjects:(id<SCCollection>)objects forKeys:(id<SCCollection>)keys;
136 + (instancetype)dictionaryWithObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
137 + (instancetype)dictionaryWithObjectsAndKeys:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
138 + (instancetype)dictionaryWithCollection:(id<SCCollection>)collection;
139 + (instancetype)dictionaryWithDictionary:(SCDictionary *)dictionary;
140 + (instancetype)dictionary;
141 
142 #pragma mark -
143 #pragma mark Initializing Dictionaries
144 - (instancetype)initWithName:(NSString *)name;
145 - (instancetype)initWithObject:(id<SCCollectioning>)object forKey:(NSString *)key;
146 - (instancetype)initWithObject:(id<SCCollectioning>)object;
147 - (instancetype)initWithObjects:(id<SCCollection>)objects forKeys:(id<SCCollection>)keys;
148 - (instancetype)initWithObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
149 - (instancetype)initWithObjectsAndKeys:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
150 - (instancetype)initWithCollection:(id<SCCollection>)collection;
151 - (instancetype)initWithDictionary:(SCDictionary *)dictionary;
152 - (instancetype)init;
153 
154 #pragma mark -
155 #pragma mark Copying Dictionaries
156 - (void)setDictionary:(SCDictionary *)dictionary;
157 
158 #pragma mark -
159 #pragma mark Comparing Dictionaries
160 - (BOOL)isEqualToDictionary:(SCDictionary *)dictionary;
161 - (BOOL)isEqualToContentsOfDictionary:(SCDictionary *)dictionary;
162 
163 #pragma mark -
164 #pragma mark Adding and Changing Objects
165 - (void)setObject:(id<SCCollectioning>)object forKey:(NSString *)key;
166 - (void)setObjects:(id<SCCollection>)objects forKeys:(id<SCCollection>)keys;
167 - (void)setObjectsAndKeys:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
168 - (void)setValue:(id<SCCollectioning>)value forKey:(NSString *)key;
169 - (void)setValues:(id<SCCollection>)values forKeys:(id<SCCollection>)keys;
170 - (void)setValuesAndKeys:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
171 
172 #pragma mark -
173 #pragma mark Removing Objects
174 - (void)removeObjectForKey:(NSString *)key;
175 - (void)removeObjectsForKeys:(SCArray *)keys;
176 
177 #pragma mark -
178 #pragma mark Querying a Dictionary
179 - (SCArray *)allKeys;
180 - (SCArray *)allValues;
181 - (SCArray *)allKeysForObject:(id<SCCollectioning>)object;
182 - (id)objectForKey:(NSString *)key;
183 - (id)valueForKey:(NSString *)key;
184 
185 #pragma mark -
186 #pragma mark Finding Objects in a Dictionary
187 - (BOOL)containsObjectForKey:(NSString *)key;
188 - (BOOL)containsStringForKey:(NSString *)key;
189 - (BOOL)containsNumberForKey:(NSString *)key;
190 - (BOOL)containsAnyObjectForKeys:(id<SCCollection>)keys;
191 - (BOOL)containsAllObjectsForKeys:(id<SCCollection>)keys;
192 
193 #pragma mark -
194 #pragma mark Objects Enumerators
195 - (NSEnumerator *)keyEnumerator;
196 
197 @end
SCArray * allValues
Definition: SCDictionary.h:104
Протокол взаимодействия с механизмом коллекций
Definition: SCCollectioning.h:80
NSEnumerator * keyEnumerator
Definition: SCDictionary.h:119
Абстрактный класс механизма коллекций библиотеки
Definition: SCCollection.h:94
Класс словарей
Definition: SCDictionary.h:71
Класс массивов объектов
Definition: SCArray.h:75
SCArray * allKeys
Definition: SCDictionary.h:98
Абстрактный класс потоков библиотеки
Definition: SCStream.h:242