Objective C实现类似C++, Java中的范型(二)

2014-11-24 03:21:52 · 作者: · 浏览: 1
firstObj, ... NS_REQUIRES_NIL_TERMINATION; \ - (NSArray<__className>*)initWithArray:(NSArray *)array; \ - (NSArray<__className>*)initWithArray:(NSArray *)array copyItems:(BOOL)flag; \ \ + (NSArray<__className>*)arrayWithContentsOfFile:(NSString *)path; \ + (NSArray<__className>*)arrayWithContentsOfURL:(NSURL *)url; \ - (NSArray<__className>*)initWithContentsOfFile:(NSString *)path; \ - (NSArray<__className>*)initWithContentsOfURL:(NSURL *)url; \ \ @end \ \ @interface NSMutableArray (__className##_NSMutableArray_Generics) <__className> \ \ - (void)addObjectsFromArray:(NSArray<__className>*)otherArray; \ - (void)removeObject:(__className*)anObject inRange:(NSRange)range; \ - (void)removeObject:(__className*)anObject; \ - (void)removeObjectIdenticalTo:(__className*)anObject inRange:(NSRange)range; \ - (void)removeObjectIdenticalTo:(__className*)anObject; \ - (void)removeObjectsInArray:(NSArray<__className>*)otherArray; \ \ - (void)replaceObjectsInRange:(NSRange)range withObjectsFromArray:(NSArray<__className>*)otherArray range:(NSRange)otherRange; \ - (void)replaceObjectsInRange:(NSRange)range withObjectsFromArray:(NSArray<__className>*)otherArray; \ - (void)setArray:(NSArray<__className>*)otherArray; \ - (void)sortUsingFunction:(NSInteger (*)(__className*, __className*, void *))compare context:(void *)context; \ \ - (void)insertObjects:(NSArray<__className>*)objects atIndexes:(NSIndexSet *)indexes; \ - (void)removeObjectsAtIndexes:(NSIndexSet *)indexes; \ - (void)replaceObjectsAtIndexes:(NSIndexSet *)indexes withObjects:(NSArray<__className>*)objects; \ \ - (void)setObject:(__className*)obj atIndexedSubscript:(NSUInteger)idx NS_AVAILABLE(10_8, 6_0); \ \ + (NSMutableArray<__className>*)array; \ + (NSMutableArray<__className>*)arrayWithObject:(__className*)anObject; \ + (NSMutableArray<__className>*)arrayWithObjects:(const id [])objects count:(NSUInteger)cnt; \ + (NSMutableArray<__className>
*)arrayWithObjects:(__className*)firstObj, ... NS_REQUIRES_NIL_TERMINATION; \ + (NSMutableArray<__className>*)arrayWithArray:(NSArray<__className>*)array; \ \ - (NSMutableArray<__className>*)initWithObjects:(const id [])objects count:(NSUInteger)cnt; \ - (NSMutableArray<__className>*)initWithObjects:(id)firstObj, ... NS_REQUIRES_NIL_TERMINATION; \ - (NSMutableArray<__className>*)initWithArray:(NSArray *)array; \ - (NSMutableArray<__className>*)initWithArray:(NSArray *)array copyItems:(BOOL)flag; \ \ + (NSMutableArray<__className>*)arrayWithContentsOfFile:(NSString *)path; \ + (NSMutableArray<__className>*)arrayWithContentsOfURL:(NSURL *)url; \ - (NSMutableArray<__className>*)initWithContentsOfFile:(NSString *)path; \ - (NSMutableArray<__className>*)initWithContentsOfURL:(NSURL *)url; \ \ @end \ \ @interface NSSet (__className##_NSSet_Generics) <__className> \ \ - (__className*)member:(__className*)object; \ - (NSEnumerator<__className>*)objectEnumerator; \ \ - (NSArray<__className>*)allObjects; \ - (__className*)anyObject; \ - (BOOL)containsObject:(__className*)anObject; \ - (BOOL)intersectsSet:(NSSet<__className>*)otherSet; \ - (BOOL)isEqualToSet:(NSSet<__className>*)otherSet; \ - (BOOL)isSubsetOfSet:(NSSet<__className>*)otherSet; \ \ - (NSSet<__className>*)setByAddingObject:(__className*)anObject NS_AVAILABLE(10_5, 2_0); \ - (NSSet<__className>*)setByAddingObjectsFromSet:(NSSet<__className>*)other NS_AVAILABLE(10_5, 2_0); \ - (NSSet<__className>*)setByAddingObjectsFromArray:(NSArray *)other NS_AVAILABLE(10_5, 2_0); \ \ + (NSSet<__className>*)set; \ + (NSSet<__className>*)setWithObject:(__className*)object; \ + (NSSet<__className>*)setWithObjects:(const id [])objects count:(NSUInteger)cnt; \ + (NSSet<__className>*)setWithObjects:(__className*)firstObj, ... N