23 #import <scl/SCObject.h>
24 #import <scl/SCCollectionProtocols.h>
27 #pragma mark Class Constants
32 #define SCCollectionClass @"SCCollection"
33 #define SCNotFound NSNotFound
97 id<SCCollectionDelegate> fDelegate;
100 #pragma mark Свойства экземпляра класса
110 @property (nonatomic, retain, getter=
name, setter=setName:) NSString *name;
116 @property (nonatomic, assign, getter=
readOnly, setter=setReadOnly:) BOOL readOnly;
122 @property (nonatomic, retain, getter=
delegate, setter=setDelegate:) id<SCCollectionDelegate> delegate;
134 @property (nonatomic, assign, readonly, getter=
empty) BOOL empty;
140 @property (nonatomic, retain, readonly, getter=
typeName) NSString *typeName;
146 @property (nonatomic, retain, readonly, getter=
description) NSString *description;
165 @property (nonatomic, retain, readonly, getter=
objectEnumerator) NSEnumerator *objectEnumerator;
176 #pragma mark Instance Properties
182 - (NSString *)typeName;
183 - (void)setName:(NSString *)name;
184 - (void)setReadOnly:(BOOL)flag;
188 #pragma mark Initializing Collections
189 - (instancetype)initWithCollection:(
id<
SCCollection>)collection;
192 #pragma mark Copying Collections
195 - (void)setObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
198 #pragma mark Comparing Collections
199 - (BOOL)isEqualToCollection:(
id<
SCCollection>)collection;
200 - (BOOL)isEqualToContentsOfCollection:(
id<
SCCollection>)collection;
201 - (BOOL)isEqual:(
id)object;
204 #pragma mark Objects Enumerators
205 - (NSEnumerator *)objectEnumerator;
206 - (NSEnumerator *)reverseObjectEnumerator;
210 - (void)reverseEnumerate;
213 #pragma mark Converting Collections
224 - (NSArray *)foundationArray;
225 - (NSSet *)foundationSet;
227 - (NSOrderedSet *)foundationOrderedSet;
229 - (NSDictionary *)foundationDictionary;
232 #pragma mark Adding Objects
234 - (void)addObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
238 #pragma mark Removing Objects
239 - (void)removeAllObjects;
240 - (void)removeObjectsWithClass:(Class)oclass;
241 - (void)removeObjectsWithClassName:(NSString *)name;
244 - (void)removeObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
247 #pragma mark Finding Objects in a Collection
249 - (BOOL)containsObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
250 - (BOOL)containsCollection:(
id<
SCCollection>)collection;
251 - (BOOL)containsAnyObject:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
252 - (BOOL)containsAnyObjectFromCollection:(
id<
SCCollection>)collection;
255 #pragma mark Detecting Collection Type
256 + (BOOL)isCollectionClass:(NSString *)name;
257 + (BOOL)isLibraryCollectionClass:(NSString *)name;
258 + (BOOL)isFoundationCollectionClass:(NSString *)name;
259 + (BOOL)isArrayClass:(NSString *)name;
260 + (BOOL)isLibraryArrayClass:(NSString *)name;
261 + (BOOL)isFoundationArrayClass:(NSString *)name;
262 + (BOOL)isSetClass:(NSString *)name;
263 + (BOOL)isLibrarySetClass:(NSString *)name;
264 + (BOOL)isFoundationSetClass:(NSString *)name;
265 + (BOOL)isOrderedSetClass:(NSString *)name;
266 + (BOOL)isLibraryOrderedSetClass:(NSString *)name;
267 + (BOOL)isFoundationOrderedSetClass:(NSString *)name;
268 + (BOOL)isDictionaryClass:(NSString *)name;
269 + (BOOL)isLibraryDictionaryClass:(NSString *)name;
270 + (BOOL)isFoundationDictionaryClass:(NSString *)name;
271 + (BOOL)isStackClass:(NSString *)name;
272 + (BOOL)isQueueClass:(NSString *)name;
273 + (BOOL)isListClass:(NSString *)name;
274 + (BOOL)isSortableClass:(NSString *)name;
276 + (BOOL)isCollection:(
id)object;
277 + (BOOL)isLibraryCollection:(
id)object;
278 + (BOOL)isFoundationCollection:(
id)object;
279 + (BOOL)isArray:(
id)object;
280 + (BOOL)isLibraryArray:(
id)object;
281 + (BOOL)isFoundationArray:(
id)object;
282 + (BOOL)isSet:(
id)object;
283 + (BOOL)isLibrarySet:(
id)object;
284 + (BOOL)isFoundationSet:(
id)object;
285 + (BOOL)isOrderedSet:(
id)object;
286 + (BOOL)isLibraryOrderedSet:(
id)object;
287 + (BOOL)isFoundationOrderedSet:(
id)object;
288 + (BOOL)isDictionary:(
id)object;
289 + (BOOL)isLibraryDictionary:(
id)object;
290 + (BOOL)isFoundationDictionary:(
id)object;
291 + (BOOL)isStack:(
id)object;
292 + (BOOL)isQueue:(
id)object;
293 + (BOOL)isList:(
id)object;
294 + (BOOL)isSortable:(
id)object;
296 - (BOOL)isCollection;
297 - (BOOL)isLibraryCollection;
298 - (BOOL)isFoundationCollection;
300 - (BOOL)isLibraryArray;
301 - (BOOL)isFoundationArray;
303 - (BOOL)isLibrarySet;
304 - (BOOL)isFoundationSet;
305 - (BOOL)isOrderedSet;
306 - (BOOL)isLibraryOrderedSet;
307 - (BOOL)isFoundationOrderedSet;
308 - (BOOL)isDictionary;
309 - (BOOL)isLibraryDictionary;
310 - (BOOL)isFoundationDictionary;
Класс неупорядоченного множества объектов
Definition: SCSet.h:65
NSEnumerator * objectEnumerator
Definition: SCCollection.h:165
SCIndex count
Definition: SCCollection.h:128
Класс двунаправленного списка объектов
Definition: SCBidirectionalList.h:75
Класс однонаправленного списка объектов
Definition: SCUnidirectionalList.h:74
Протокол классов изменяемых коллекций
Definition: SCCollectionProtocols.h:743
BOOL readOnly
Definition: SCCollection.h:116
Класс упорядоченного множества объектов
Definition: SCOrderedSet.h:73
Общий предок всех остальных классов библиотеки
Definition: SCObject.h:53
NSString * typeName
Definition: SCCollection.h:140
NSUInteger SCIndex
Definition: SCTypes.h:238
Протокол взаимодействия с механизмом коллекций
Definition: SCCollectioning.h:80
Класс обработчика событий коллекций
Definition: SCCollectionDelegate.h:519
Абстрактный класс механизма коллекций библиотеки
Definition: SCCollection.h:94
Класс стека объектов
Definition: SCStack.h:69
id< SCCollectionDelegate > delegate
Definition: SCCollection.h:122
Класс очереди объектов
Definition: SCQueue.h:74
BOOL empty
Definition: SCCollection.h:134
NSString * description
Definition: SCCollection.h:146
NSString * name
Definition: SCCollection.h:110
NSEnumerator * reverseObjectEnumerator
Definition: SCCollection.h:171
Класс словарей
Definition: SCDictionary.h:71
Класс массивов объектов
Definition: SCArray.h:75