24 #import <Foundation/Foundation.h>
25 #import <scl/NSObject+SCObject.h>
26 #import <scl/SCCollectionProtocols.h>
27 #import <scl/SCSorter.h>
30 #pragma mark Class Constants
35 #define NSArrayClass @"NSArray"
67 @property (nonatomic, assign, readonly, getter=
empty) BOOL empty;
73 @property (nonatomic, assign, readonly, getter=
readOnly) BOOL readOnly;
88 @property (nonatomic, retain, readonly, getter=
array)
SCArray *array;
94 @property (nonatomic, retain, readonly, getter=
set)
SCSet *set;
138 @property (nonatomic, retain, readonly, getter=
foundationArray) NSArray *foundationArray;
144 @property (nonatomic, retain, readonly, getter=
foundationSet) NSSet *foundationSet;
164 @property (nonatomic, retain, readonly, getter=
reversedArray) NSArray *reversedArray;
177 @property (nonatomic, retain, readonly, getter=
sortedArray) NSArray *sortedArray;
182 #pragma mark Creating Arrays
183 + (instancetype)arrayWithCoder:(NSCoder *)coder;
184 + (instancetype)arrayWithContentsOfSerializedFile:(NSString *)path;
185 + (instancetype)arrayWithDataDictionary:(NSDictionary *)dictionary;
186 + (instancetype)arrayWithDataDictionaryFromFile:(NSString *)path;
187 + (instancetype)arrayWithStream:(
SCStream *)stream;
188 + (instancetype)arrayWithFileStream:(NSString *)path;
190 + (instancetype)arrayWithAscendingSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
191 + (instancetype)arrayWithDescendingSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
192 + (instancetype)arrayWithSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
193 + (instancetype)arrayWithAscendingSortedCollection:(
id<
SCCollection>)collection;
194 + (instancetype)arrayWithDescendingSortedCollection:(
id<
SCCollection>)collection;
195 + (instancetype)arrayWithSortedCollection:(
id<
SCCollection>)collection;
196 + (instancetype)arrayWithCollection:(
id<
SCCollection>)collection;
199 #pragma mark Initializing Arrays
200 - (instancetype)initWithAscendingSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
201 - (instancetype)initWithDescendingSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
202 - (instancetype)initWithSortedCollection:(
id<
SCCollection>)collection sorter:(
id<
SCSorter>)sorter;
203 - (instancetype)initWithAscendingSortedCollection:(
id<
SCCollection>)collection;
204 - (instancetype)initWithDescendingSortedCollection:(
id<
SCCollection>)collection;
205 - (instancetype)initWithSortedCollection:(
id<
SCCollection>)collection;
206 - (instancetype)initWithCollection:(
id<
SCCollection>)collection;
209 #pragma mark Protocol SCCollection Implementation
233 #pragma mark Finding Objects in an Array
234 - (BOOL)containsObjects:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
235 - (BOOL)containsCollection:(
id<
SCCollection>)collection;
236 - (BOOL)containsAnyObject:(
id<
SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
237 - (BOOL)containsAnyObjectFromCollection:(
id<
SCCollection>)collection;
241 #pragma mark Converting Arrays
261 #pragma mark Sorting Arrays
262 - (NSArray *)ascendingSortedArrayWithSorter:(
id<
SCSorter>)sorter;
263 - (NSArray *)descendingSortedArrayWithSorter:(
id<
SCSorter>)sorter;
264 - (NSArray *)sortedArrayWithSorter:(
id<
SCSorter>)sorter;
Класс неупорядоченного множества объектов
Definition: SCSet.h:65
SCUnidirectionalList * unidirectionalList
Definition: NSArray+SCArray.h:126
BOOL isStack()
Definition: NSArray+SCArray.m:784
NSArray * foundationArray
Definition: NSArray+SCArray.h:138
BOOL isFoundationArray()
Definition: NSArray+SCArray.m:664
SCStack * stack
Definition: NSArray+SCArray.h:114
Класс двунаправленного списка объектов
Definition: SCBidirectionalList.h:75
BOOL isList()
Definition: NSArray+SCArray.m:808
SCDictionary * dictionary
Definition: NSArray+SCArray.h:108
NSArray * ascendingSortedArray()
Definition: NSArray+SCArray.m:1297
Класс однонаправленного списка объектов
Definition: SCUnidirectionalList.h:74
BOOL isCollection()
Definition: NSArray+SCArray.m:604
BOOL isDictionary()
Definition: NSArray+SCArray.m:748
BOOL isFoundationSet()
Definition: NSArray+SCArray.m:700
BOOL isLibraryOrderedSet()
Definition: NSArray+SCArray.m:724
Расширение функциональности стандартного класса NSArray.
Definition: NSArray+SCArray.h:50
SCOrderedSet * orderedSet
Definition: NSArray+SCArray.h:101
BOOL isFoundationCollection()
Definition: NSArray+SCArray.m:628
Класс упорядоченного множества объектов
Definition: SCOrderedSet.h:73
NSSet * foundationSet
Definition: NSArray+SCArray.h:144
SCQueue * queue
Definition: NSArray+SCArray.h:120
SCBidirectionalList * bidirectionalList
Definition: NSArray+SCArray.h:132
BOOL isFoundationOrderedSet()
Definition: NSArray+SCArray.m:736
Класс абстрактного алгоритма сортировки данных
Definition: SCSorter.h:130
BOOL isLibrarySet()
Definition: NSArray+SCArray.m:688
Протокол классов индексированных коллекций
Definition: SCCollectionProtocols.h:939
BOOL isFoundationDictionary()
Definition: NSArray+SCArray.m:772
NSArray * sortedArray
Definition: NSArray+SCArray.h:177
BOOL isArray()
Definition: NSArray+SCArray.m:640
BOOL readOnly
Definition: NSArray+SCArray.h:73
BOOL isSet()
Definition: NSArray+SCArray.m:676
NSArray * reversedArray
Definition: NSArray+SCArray.h:164
NSDictionary * foundationDictionary
Definition: NSArray+SCArray.h:158
BOOL isOrderedSet()
Definition: NSArray+SCArray.m:712
SCSet * set
Definition: NSArray+SCArray.h:94
NSArray * descendingSortedArray()
Definition: NSArray+SCArray.m:1311
NSUInteger SCIndex
Definition: SCTypes.h:238
Протокол взаимодействия с механизмом коллекций
Definition: SCCollectioning.h:80
BOOL empty
Definition: NSArray+SCArray.h:67
Абстрактный класс механизма коллекций библиотеки
Definition: SCCollection.h:94
Класс стека объектов
Definition: SCStack.h:69
BOOL isLibraryDictionary()
Definition: NSArray+SCArray.m:760
Класс очереди объектов
Definition: SCQueue.h:74
SCArray * array
Definition: NSArray+SCArray.h:88
BOOL isLibraryCollection()
Definition: NSArray+SCArray.m:616
BOOL isSortable()
Definition: NSArray+SCArray.m:820
Класс словарей
Definition: SCDictionary.h:71
BOOL isQueue()
Definition: NSArray+SCArray.m:796
NSOrderedSet * foundationOrderedSet
Definition: NSArray+SCArray.h:151
Класс массивов объектов
Definition: SCArray.h:75
SCIndex indexOfLastObject()
Definition: NSArray+SCArray.m:1091
Абстрактный класс потоков библиотеки
Definition: SCStream.h:242
BOOL isLibraryArray()
Definition: NSArray+SCArray.m:652