|
Samond Classes Library 1.1.6-RELEASE build 132
|
00001 // 00002 // SCArrayNSArray.h 00003 // scl 00004 // 00005 // Created by Viacheslav Smolensky on 13.05.12. 00006 // Copyright (c) 2007 - 2014 by Samond Development Corporation. All rights reserved. 00007 // 00008 00016 #import <Foundation/Foundation.h> 00017 #import <scl/SCTypes.h> 00018 #import <scl/SCCollectionProtocol.h> 00019 00020 #define NSArrayClass @"NSArray" ///< NSArray class name 00021 00031 @interface NSArray(SCNSArray) <SCDictionaryObjectProtocol, SCStreamProtocol, SCCollectionProtocol> 00032 #pragma mark - 00033 #pragma mark Category properties 00034 #if (__MAC_OS_X_VERSION_MIN_REQUIRED > 1040) || IOS_TARGET 00035 // Instance class name property 00036 @property (retain, readonly, getter=className) NSString *className; 00037 #endif 00038 00039 #pragma mark - 00040 #pragma mark Creating and Initializing Array 00041 00047 + (NSArray *)arrayWithContentsOfSerializedFile:(NSString *)path; 00048 00054 + (NSArray *)arrayWithDataDictionary:(NSDictionary *)dictionary; 00055 00061 + (NSArray *)arrayWithDataDictionaryFromFile:(NSString *)path; 00062 00068 + (NSArray *)arrayWithCoder:(NSCoder *)coder; 00069 00077 + (NSArray *)arrayWithStream:(SCStream *)stream; 00078 00085 + (NSArray *)arrayWithFileStream:(NSString *)path; 00086 00095 + (NSArray *)arraySortedAscendingWithArray:(NSArray *)array 00096 usingMethod:(id<SCSortingProtocol>)method; 00097 00106 + (NSArray *)arraySortedDescendingWithArray:(NSArray *)array 00107 usingMethod:(id<SCSortingProtocol>)method; 00108 00117 + (NSArray *)arraySortedWithArray:(NSArray *)array usingMethod:(id<SCSortingProtocol>)method; 00118 00125 + (NSArray *)arraySortedAscendingWithArray:(NSArray *)array; 00126 00133 + (NSArray *)arraySortedDescendingWithArray:(NSArray *)array; 00134 00141 + (NSArray *)arraySortedWithArray:(NSArray *)array; 00142 00148 - (id)initWithContentsOfSerializedFile:(NSString *)path; 00149 00155 - (id)initWithDataDictionary:(NSDictionary *)dictionary; 00156 00162 - (id)initWithDataDictionaryFromFile:(NSString *)path; 00163 00171 - (id)initWithStream:(SCStream *)stream; 00172 00179 - (id)initWithFileStream:(NSString *)path; 00180 00189 - (id)initSortedAscendingWithArray:(NSArray *)array usingMethod:(id<SCSortingProtocol>)method; 00190 00199 - (id)initSortedDescendingWithArray:(NSArray *)array usingMethod:(id<SCSortingProtocol>)method; 00200 00209 - (id)initSortedWithArray:(NSArray *)array usingMethod:(id<SCSortingProtocol>)method; 00210 00217 - (id)initSortedAscendingWithArray:(NSArray *)array; 00218 00225 - (id)initSortedDescendingWithArray:(NSArray *)array; 00226 00233 - (id)initSortedWithArray:(NSArray *)array; 00234 00235 #pragma mark - 00236 #pragma mark Supporting Data Dictionaries 00237 00242 - (void)writeToDataDictionary:(NSMutableDictionary *)dictionary; 00243 00250 - (void)writeToDataDictionaryFile:(NSString *)path atomically:(BOOL)atomically; 00251 00256 - (void)writeToDataDictionaryFile:(NSString *)path; 00257 00262 - (NSDictionary *)dataDictionary; 00263 00264 #pragma mark - 00265 #pragma mark Supporting Coders and Serialized Files 00266 00272 - (BOOL)writeContentsToSerializedFile:(NSString *)path; 00273 00274 #pragma mark - 00275 #pragma mark Supporting Collections 00276 00281 - (id<SCCollectionProtocol>)copyObject; 00282 00293 - (SCComparisonResult)compareWithObject:(id<SCCollectionProtocol>)object; 00294 00295 #pragma mark - 00296 #pragma mark Supporting Streams 00297 00304 - (void)writeToStream:(SCStream *)stream; 00305 00311 - (void)writeToFileStream:(NSString *)path; 00312 00318 - (void)appendToFileStream:(NSString *)path; 00319 00320 #pragma mark - 00321 #pragma mark Other Methods 00322 00327 - (NSString *)className; 00328 00329 #pragma mark - 00330 #pragma mark Detecting Collection Type 00331 00336 - (BOOL)isCollection; 00337 00342 - (BOOL)isLibraryCollection; 00343 00348 - (BOOL)isFoundationCollection; 00349 00354 - (BOOL)isArray; 00355 00360 - (BOOL)isLibraryArray; 00361 00366 - (BOOL)isFoundationArray; 00367 00372 - (BOOL)isSet; 00373 00378 - (BOOL)isLibrarySet; 00379 00384 - (BOOL)isFoundationSet; 00385 00390 - (BOOL)isOrderedSet; 00391 00396 - (BOOL)isLibraryOrderedSet; 00397 00402 - (BOOL)isFoundationOrderedSet; 00403 00408 - (BOOL)isDictionary; 00409 00414 - (BOOL)isLibraryDictionary; 00415 00420 - (BOOL)isFoundationDictionary; 00421 00426 - (BOOL)isStack; 00427 00432 - (BOOL)isQueue; 00433 00438 - (BOOL)isList; 00439 00444 - (BOOL)isSortable; 00445 00446 #pragma mark - 00447 #pragma mark Sorting Array 00448 00456 - (NSArray *)sortedArrayAscendingWithMethod:(id<SCSortingProtocol>)method; 00457 00465 - (NSArray *)sortedArrayDescendingWithMethod:(id<SCSortingProtocol>)method; 00466 00474 - (NSArray *)sortedArrayWithMethod:(id<SCSortingProtocol>)method; 00475 00481 - (NSArray *)sortedArrayAscending; 00482 00488 - (NSArray *)sortedArrayDescending; 00489 00495 - (NSArray *)sortedArray; 00496 00497 @end
1.7.3