Samond Classes Library 1.2.2-RELEASE build 188
SCDictionary.h
Go to the documentation of this file.
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 
35 #define SCDictionaryClass @"SCDictionary"
36 
37 
77 @interface SCDictionary : SCCollection {
78  NSMutableDictionary *fDictionary; // Internal data storage
79 }
80 
104 @property (nonatomic, readonly, assign) SCArray *allKeys;
105 
110 @property (nonatomic, readonly, assign) SCArray *allValues;
111 
125 @property (nonatomic, readonly, assign) NSEnumerator *keyEnumerator;
126 
129 #pragma mark -
130 #pragma mark Creating Dictionaries
131 + (instancetype)dictionaryWithCoder:(NSCoder *)coder;
132 + (instancetype)dictionaryWithContentsOfSerializedFile:(NSString *)path;
133 + (instancetype)dictionaryWithDataDictionary:(NSDictionary *)dictionary;
134 + (instancetype)dictionaryWithDataDictionaryFromFile:(NSString *)path;
135 + (instancetype)dictionaryWithStream:(SCStream *)stream;
136 + (instancetype)dictionaryWithFileStream:(NSString *)path;
137 
138 + (instancetype)dictionaryWithName:(NSString *)name;
139 + (instancetype)dictionaryWithObject:(id<SCCollectioning>)object forKey:(NSString *)key;
140 + (instancetype)dictionaryWithObject:(id<SCCollectioning>)object;
141 + (instancetype)dictionaryWithObjects:(id<SCCollection>)objects forKeys:(id<SCCollection>)keys;
142 + (instancetype)dictionaryWithObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
143 + (instancetype)dictionaryWithObjectsAndKeys:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
144 + (instancetype)dictionaryWithCollection:(id<SCCollection>)collection;
145 + (instancetype)dictionaryWithDictionary:(SCDictionary *)dictionary;
146 + (instancetype)dictionary;
147 
148 #pragma mark -
149 #pragma mark Initializing Dictionaries
150 - (instancetype)initWithName:(NSString *)name;
151 - (instancetype)initWithObject:(id<SCCollectioning>)object forKey:(NSString *)key;
152 - (instancetype)initWithObject:(id<SCCollectioning>)object;
153 - (instancetype)initWithObjects:(id<SCCollection>)objects forKeys:(id<SCCollection>)keys;
154 - (instancetype)initWithObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
155 - (instancetype)initWithObjectsAndKeys:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
156 - (instancetype)initWithCollection:(id<SCCollection>)collection;
157 - (instancetype)initWithDictionary:(SCDictionary *)dictionary;
158 - (instancetype)init;
159 
160 #pragma mark -
161 #pragma mark Copying Dictionaries
162 - (void)setDictionary:(SCDictionary *)dictionary;
163 
164 #pragma mark -
165 #pragma mark Comparing Dictionaries
166 - (BOOL)isEqualToDictionary:(SCDictionary *)dictionary;
167 
168 #pragma mark -
169 #pragma mark Adding and Changing Objects
170 - (void)setObject:(id<SCCollectioning>)object forKey:(NSString *)key;
171 - (void)setObjects:(id<SCCollection>)objects forKeys:(id<SCCollection>)keys;
172 - (void)setObjectsAndKeys:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
173 - (void)setValue:(id<SCCollectioning>)value forKey:(NSString *)key;
174 - (void)setValues:(id<SCCollection>)values forKeys:(id<SCCollection>)keys;
175 - (void)setValuesAndKeys:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
176 
177 #pragma mark -
178 #pragma mark Removing Objects
179 - (void)removeObjectForKey:(NSString *)key;
180 - (void)removeObjectsForKeys:(SCArray *)keys;
181 
182 #pragma mark -
183 #pragma mark Querying a Dictionary
184 - (SCArray *)allKeysForObject:(id<SCCollectioning>)object;
185 - (id)objectForKey:(NSString *)key;
186 - (id)valueForKey:(NSString *)key;
187 
188 #pragma mark -
189 #pragma mark Finding Objects and Keys in a Dictionary
190 - (BOOL)containsObjectForKey:(NSString *)key;
191 - (BOOL)containsStringForKey:(NSString *)key;
192 - (BOOL)containsNumberForKey:(NSString *)key;
193 - (BOOL)containsAnyObjectForKeys:(id<SCCollection>)keys;
194 - (BOOL)containsAllObjectsForKeys:(id<SCCollection>)keys;
195 - (BOOL)containsKey:(NSString *)key;
196 - (BOOL)containsKeys:(NSString *)key, ... NS_REQUIRES_NIL_TERMINATION;
197 - (BOOL)containsKeysFromCollection:(id<SCCollection>)collection;
198 - (BOOL)containsAnyKey:(NSString *)key, ... NS_REQUIRES_NIL_TERMINATION;
199 - (BOOL)containsAnyKeyFromCollection:(id<SCCollection>)collection;
200 
201 @end
Collections communications protocol.
Definition: SCCollectioning.h:78
Abstract collections class.
Definition: SCCollection.h:101
Class SCCollection header file.
Dictionary class.
Definition: SCDictionary.h:77
Array class.
Definition: SCArray.h:81
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:226