|
Samond Classes Library 1.1.6-RELEASE build 132
|
00001 // 00002 // SCMutableArrayNSMutableArray.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 #import <scl/SCSortingProtocol.h> 00020 00021 #define NSMutableArrayClass @"NSMutableArray" ///< NSMutableArray class name 00022 00032 @interface NSMutableArray(SCNSMutableArray) <SCStreamProtocol, SCCollectionProtocol, 00033 SCDictionaryObjectProtocol> 00034 #pragma mark - 00035 #pragma mark Category properties 00036 #if (__MAC_OS_X_VERSION_MIN_REQUIRED > 1040) || IOS_TARGET 00037 // Instance class name property 00038 @property (retain, readonly, getter=className) NSString *className; 00039 #endif 00040 00041 #pragma mark - 00042 #pragma mark Creating and Initializing Class Instance 00043 00049 + (NSMutableArray *)arrayWithContentsOfSerializedFile:(NSString *)path; 00050 00056 + (NSMutableArray *)arrayWithDataDictionary:(NSDictionary *)dictionary; 00057 00063 + (NSMutableArray *)arrayWithDataDictionaryFromFile:(NSString *)path; 00064 00070 + (NSMutableArray *)arrayWithCoder:(NSCoder *)coder; 00071 00079 + (NSMutableArray *)arrayWithStream:(SCStream *)stream; 00080 00087 + (NSMutableArray *)arrayWithFileStream:(NSString *)path; 00088 00097 + (NSMutableArray *)arraySortedAscendingWithArray:(NSArray *)array 00098 usingMethod:(id<SCSortingProtocol>)method; 00099 00108 + (NSMutableArray *)arraySortedDescendingWithArray:(NSArray *)array 00109 usingMethod:(id<SCSortingProtocol>)method; 00110 00119 + (NSMutableArray *)arraySortedWithArray:(NSArray *)array usingMethod:(id<SCSortingProtocol>)method; 00120 00127 + (NSMutableArray *)arraySortedAscendingWithArray:(NSArray *)array; 00128 00135 + (NSMutableArray *)arraySortedDescendingWithArray:(NSArray *)array; 00136 00143 + (NSMutableArray *)arraySortedWithArray:(NSArray *)array; 00144 00150 - (id)initWithContentsOfSerializedFile:(NSString *)path; 00151 00157 - (id)initWithDataDictionary:(NSDictionary *)dictionary; 00158 00164 - (id)initWithDataDictionaryFromFile:(NSString *)path; 00165 00173 - (id)initWithStream:(SCStream *)stream; 00174 00181 - (id)initWithFileStream:(NSString *)path; 00182 00183 #pragma mark - 00184 #pragma mark Supporting Data Dictionaries 00185 00190 - (void)writeToDataDictionary:(NSMutableDictionary *)dictionary; 00191 00198 - (void)writeToDataDictionaryFile:(NSString *)path atomically:(BOOL)atomically; 00199 00204 - (void)writeToDataDictionaryFile:(NSString *)path; 00205 00210 - (NSDictionary *)dataDictionary; 00211 00212 #pragma mark - 00213 #pragma mark Supporting Coders and Serialized Files 00214 00220 - (BOOL)writeContentsToSerializedFile:(NSString *)path; 00221 00222 #pragma mark - 00223 #pragma mark Supporting Collections 00224 00229 - (id<SCCollectionProtocol>)copyObject; 00230 00241 - (SCComparisonResult)compareWithObject:(id<SCCollectionProtocol>)object; 00242 00243 #pragma mark - 00244 #pragma mark Supporting Streams 00245 00252 - (void)writeToStream:(SCStream *)stream; 00253 00259 - (void)writeToFileStream:(NSString *)path; 00260 00266 - (void)appendToFileStream:(NSString *)path; 00267 00268 #pragma mark - 00269 #pragma mark Other Methods 00270 00275 - (NSString *)className; 00276 00277 #pragma mark - 00278 #pragma mark Detecting Collection Type 00279 00284 - (BOOL)isCollection; 00285 00290 - (BOOL)isLibraryCollection; 00291 00296 - (BOOL)isFoundationCollection; 00297 00302 - (BOOL)isArray; 00303 00308 - (BOOL)isLibraryArray; 00309 00314 - (BOOL)isFoundationArray; 00315 00320 - (BOOL)isSet; 00321 00326 - (BOOL)isLibrarySet; 00327 00332 - (BOOL)isFoundationSet; 00333 00338 - (BOOL)isOrderedSet; 00339 00344 - (BOOL)isLibraryOrderedSet; 00345 00350 - (BOOL)isFoundationOrderedSet; 00351 00356 - (BOOL)isDictionary; 00357 00362 - (BOOL)isLibraryDictionary; 00363 00368 - (BOOL)isFoundationDictionary; 00369 00374 - (BOOL)isStack; 00375 00380 - (BOOL)isQueue; 00381 00386 - (BOOL)isList; 00387 00392 - (BOOL)isSortable; 00393 00394 #pragma mark - 00395 #pragma mark Sorting Array 00396 00402 - (void)sortingArrayAscendingWithMethod:(id<SCSortingProtocol>)method; 00403 00409 - (void)sortingArrayDescendingWithMethod:(id<SCSortingProtocol>)method; 00410 00416 - (void)sortingArrayWithMethod:(id<SCSortingProtocol>)method; 00417 00422 - (void)sortingArrayAscending; 00423 00428 - (void)sortingArrayDescending; 00429 00434 - (void)sortingArray; 00435 00436 @end
1.7.3