mirror of
				https://github.com/SoPat712/YTLitePlus.git
				synced 2025-10-31 12:54:14 -04:00 
			
		
		
		
	added files via upload
This commit is contained in:
		| @@ -0,0 +1,93 @@ | ||||
| // | ||||
| //  FLEXCollectionContentSection.h | ||||
| //  FLEX | ||||
| // | ||||
| //  Created by Tanner Bennett on 8/28/19. | ||||
| //  Copyright © 2020 FLEX Team. All rights reserved. | ||||
| // | ||||
|  | ||||
| #import "FLEXTableViewSection.h" | ||||
| #import "FLEXObjectInfoSection.h" | ||||
| @class FLEXCollectionContentSection, FLEXTableViewCell; | ||||
| @protocol FLEXCollection, FLEXMutableCollection; | ||||
|  | ||||
| /// Any foundation collection implicitly conforms to FLEXCollection. | ||||
| /// This future should return one. We don't explicitly put FLEXCollection | ||||
| /// here because making generic collections conform to FLEXCollection breaks | ||||
| /// compile-time features of generic arrays, such as \c someArray[0].property | ||||
| typedef id<NSObject, NSFastEnumeration /* FLEXCollection */>(^FLEXCollectionContentFuture)(__kindof FLEXCollectionContentSection *section); | ||||
|  | ||||
| #pragma mark Collection | ||||
| /// A protocol that enables \c FLEXCollectionContentSection to operate on any arbitrary collection. | ||||
| /// \c NSArray, \c NSDictionary, \c NSSet, and \c NSOrderedSet all conform to this protocol. | ||||
| @protocol FLEXCollection <NSObject, NSFastEnumeration> | ||||
|  | ||||
| @property (nonatomic, readonly) NSUInteger count; | ||||
|  | ||||
| - (id)copy; | ||||
| - (id)mutableCopy; | ||||
|  | ||||
| @optional | ||||
|  | ||||
| /// Unordered, unkeyed collections must implement this | ||||
| @property (nonatomic, readonly) NSArray *allObjects; | ||||
| /// Keyed collections must implement this and \c objectForKeyedSubscript: | ||||
| @property (nonatomic, readonly) NSArray *allKeys; | ||||
|  | ||||
| /// Ordered, indexed collections must implement this. | ||||
| - (id)objectAtIndexedSubscript:(NSUInteger)idx; | ||||
| /// Keyed, unordered collections must implement this and \c allKeys | ||||
| - (id)objectForKeyedSubscript:(id)idx; | ||||
|  | ||||
| @end | ||||
|  | ||||
| @protocol FLEXMutableCollection <FLEXCollection> | ||||
| - (void)filterUsingPredicate:(NSPredicate *)predicate; | ||||
| @end | ||||
|  | ||||
|  | ||||
| #pragma mark - FLEXCollectionContentSection | ||||
| /// A custom section for viewing collection elements. | ||||
| /// | ||||
| /// Tapping on a row pushes an object explorer for that element. | ||||
| @interface FLEXCollectionContentSection<__covariant ObjectType> : FLEXTableViewSection <FLEXObjectInfoSection> { | ||||
|     @protected | ||||
|     /// Unused if initialized with a future | ||||
|     id<FLEXCollection> _collection; | ||||
|     /// Unused if initialized with a collection | ||||
|     FLEXCollectionContentFuture _collectionFuture; | ||||
|     /// The filtered collection from \c _collection or \c _collectionFuture | ||||
|     id<FLEXCollection> _cachedCollection; | ||||
| } | ||||
|  | ||||
| + (instancetype)forCollection:(id)collection; | ||||
| /// The future given should be safe to call more than once. | ||||
| /// The result of calling this future multiple times may yield | ||||
| /// different results each time if the data is changing by nature. | ||||
| + (instancetype)forReusableFuture:(FLEXCollectionContentFuture)collectionFuture; | ||||
|  | ||||
| /// Defaults to \c NO | ||||
| @property (nonatomic) BOOL hideSectionTitle; | ||||
| /// Defaults to \c nil | ||||
| @property (nonatomic, copy) NSString *customTitle; | ||||
| /// Defaults to \c NO | ||||
| /// | ||||
| /// Settings this to \c NO will not display the element index for ordered collections. | ||||
| /// This property only applies to \c NSArray or \c NSOrderedSet and their subclasses. | ||||
| @property (nonatomic) BOOL hideOrderIndexes; | ||||
|  | ||||
| /// Set this property to provide a custom filter matcher. | ||||
| /// | ||||
| /// By default, the collection will filter on the title and subtitle of the row. | ||||
| /// So if you don't ever call \c configureCell: for example, you will need to set | ||||
| /// this property so that your filter logic will match how you're setting up the cell.  | ||||
| @property (nonatomic) BOOL (^customFilter)(NSString *filterText, ObjectType element); | ||||
|  | ||||
| /// Get the object in the collection associated with the given row. | ||||
| /// For dictionaries, this returns the value, not the key. | ||||
| - (ObjectType)objectForRow:(NSInteger)row; | ||||
|  | ||||
| /// Subclasses may override. | ||||
| - (UITableViewCellAccessoryType)accessoryTypeForRow:(NSInteger)row; | ||||
|  | ||||
| @end | ||||
		Reference in New Issue
	
	Block a user
	 Balackburn
					Balackburn