Samond Classes Library 1.2.0-RELEASE build 166
SCCollectionDelegateProtocol.h
Go to the documentation of this file.
1 //
2 // SCCollectionDelegateProtocol.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 
23 #import <scl/SCCollection.h>
24 #import <scl/SCCollectionException.h>
25 #import <scl/SCSorterProtocol.h>
26 
40 @optional
41 
42 #pragma mark -
43 #pragma mark Обработка объектов
44 
59 - (void)processObject:(id)object collection:(SCCollection *)collection;
60 
61 #pragma mark -
62 #pragma mark Обработка ошибок коллекции
63 
80 - (BOOL)collection:(SCCollection *)collection didDetectException:(SCCollectionException *)exception;
81 
82 #pragma mark -
83 #pragma mark События добавления объектов
84 
99 - (void)collection:(SCCollection *)collection willAddObject:(id)object;
100 
113 - (void)collection:(SCCollection *)collection willInsertObject:(id)object atIndex:(SCIndex)index;
114 
127 - (void)collection:(SCCollection *)collection willSetObject:(id)object forKey:(NSString *)key;
128 
141 - (void)collection:(SCCollection *)collection willSetValue:(id)value forKey:(NSString *)key;
142 
153 - (void)collection:(SCCollection *)collection didFinishAddingObject:(id)object;
154 
167 - (void)collection:(SCCollection *)collection didFinishInsertingObject:(id)object atIndex:(SCIndex)index;
168 
181 - (void)collection:(SCCollection *)collection didFinishSettingObject:(id)object forKey:(NSString *)key;
182 
195 - (void)collection:(SCCollection *)collection didFinishSettingValue:(id)value forKey:(NSString *)key;
196 
197 #pragma mark -
198 #pragma mark События удаления объектов
199 
212 - (void)willRemoveAllObjectsFromCollection:(SCCollection *)collection;
213 
224 - (void)collection:(SCCollection *)collection willRemoveObjectsOfClassName:(NSString *)name;
225 
236 - (void)collection:(SCCollection *)collection willRemoveObject:(id)object;
237 
248 - (void)collection:(SCCollection *)collection willRemoveObjectAtIndex:(SCIndex)index;
249 
260 - (void)collection:(SCCollection *)collection willRemoveObjectForKey:(NSString *)key;
261 
270 - (void)didFinishRemovingAllObjectsFromCollection:(SCCollection *)collection;
271 
282 - (void)collection:(SCCollection *)collection didFinishRemovingObjectsOfClassName:(NSString *)name;
283 
294 - (void)collection:(SCCollection *)collection didFinishRemovingObject:(id)object;
295 
306 - (void)collection:(SCCollection *)collection didFinishRemovingObjectAtIndex:(SCIndex)index;
307 
318 - (void)collection:(SCCollection *)collection didFinishRemovingObjectForKey:(NSString *)key;
319 
320 #pragma mark -
321 #pragma mark События сортировки объектов
322 
339 - (void)collection:(SCCollection *)collection willSortAscending:(BOOL)ascending sorter:(id<SCSorter>)sorter;
340 
353 - (void)collection:(SCCollection *)collection didFinishSortingAscending:(BOOL)ascending sorter:(id<SCSorter>)sorter;
354 
355 #pragma mark -
356 #pragma mark События замены объектов
357 
375 - (void)collection:(SCCollection *)collection willReplaceObjectAtIndex:(SCIndex)index withObject:(id)object;
376 
390 - (void)collection:(SCCollection *)collection willReplaceObjectsInRange:(NSRange)range withCollection:(id)source;
391 
404 - (void)collection:(SCCollection *)collection willReplaceObject:(id)replaced withObject:(id)object;
405 
419 - (void)collection:(SCCollection *)collection didFinishReplacingObjectAtIndex:(SCIndex)index withObject:(id)object;
420 
434 - (void)collection:(SCCollection *)collection
435  didFinishReplacingObjectsInRange:(NSRange)range
436  withCollection:(id)source;
437 
450 - (void)collection:(SCCollection *)collection didFinishReplacingObject:(id)replaced withObject:(id)object;
451 
452 #pragma mark -
453 #pragma mark События копирования и перемещения объектов
454 
471 - (void)collection:(SCCollection *)collection
472  willExchangeObjectAtIndex:(SCIndex)index
473  withObjectAtIndex:(SCIndex)destination;
474 
487 - (void)collection:(SCCollection *)collection
488  didFinishExchangingObjectAtIndex:(SCIndex)index
489  withObjectAtIndex:(SCIndex)destination;
490 
491 @end
SCULong SCIndex
Index data type.
Definition: SCTypes.h:240
Abstract implementation of the protocol SCSorter.
Definition: SCSorter.h:37
Collections events handling class.
Definition: SCCollectionDelegate.h:46
Abstract collections class.
Definition: SCCollection.h:94
Exception class SCCollectionException.
Definition: SCCollectionException.h:202