NSSet所有API学习。
/****************集合(NSSet)和数组(NSArray)有相似之处,都是存储不同的对象的地址。只是NSArray是有序的集合,NSSet是无序的集合,同一时候NSSet能够保证数据的唯一性。当插入同样的数据时,不会有不论什么效果。集合是一种哈希表,运用散列算法。查找集合中的元素比数组速度更快,可是他没有顺序****************/
/**************** Immutable Set ****************/
@interface NSSet : NSObject <NSCopying, NSMutableCopying, NSSecureCoding, NSFastEnumeration>
//1.推断两个对象的值是否相逢。用来查询set里面是否有一个对象与传入对象的值相等。
- (id)member:(id)object;
//2.返回集合中全部对象到一个NSEumerator类型的对象
- (NSEnumerator *)objectEnumerator;
//3.初始化
- (instancetype)init NS_DESIGNATED_INITIALIZER;
//4.使用一组对象初始化新分配的对象
- (instancetype)initWithObjects:(const id [])objects count:(NSUInteger)cnt NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithCoder:(NSCoder *)aDecoder NS_DESIGNATED_INITIALIZER;
@end
@interface NSSet (NSExtendedSet)
//5.全部对象的数组属性
@property (readonly, copy) NSArray *allObjects;
//6.返回集合中的某个对象
- (id)anyObject;
//7.推断集合中是否有对象
- (BOOL)containsObject:(id)anObject;
//8.将集合转化成字符串。也能够通过改变description改变字符串
@property (readonly, copy) NSString *description;
- (NSString *)descriptionWithLocale:(id)locale;
//9.推断在一个集合中能否够插入另外一个集合
- (BOOL)intersectsSet:(NSSet *)otherSet;
//10.推断两个集合是否相等
- (BOOL)isEqualToSet:(NSSet *)otherSet;
//11.推断一个集合是否是另外一个集合的子集。
- (BOOL)isSubsetOfSet:(NSSet *)otherSet;
//12.让集合中的对象运行指定的方法(遍历)
- (void)makeObjectsPerformSelector:(SEL)aSelector;
- (void)makeObjectsPerformSelector:(SEL)aSelector withObject:(id)argument;
//13.在集合中追加一个对象 返回set
- (NSSet *)setByAddingObject:(id)anObject NS_AVAILABLE(10_5, 2_0);
//14.在集合中追加另外一个集合
- (NSSet *)setByAddingObjectsFromSet:(NSSet *)other NS_AVAILABLE(10_5, 2_0);
//15.在一个集合后面追加一个数组,返回一个新的集合set
- (NSSet *)setByAddingObjectsFromArray:(NSArray *)other NS_AVAILABLE(10_5, 2_0);
//16.遍历整个集合 运行在block中
- (void)enumerateObjectsUsingBlock:(void (^)(id obj, BOOL *stop))block NS_AVAILABLE(10_6, 4_0);
//17.遍历整个集合 而且有遍历选项条件
- (void)enumerateObjectsWithOptions:(NSEnumerationOptions)opts usingBlock:(void (^)(id obj, BOOL *stop))block NS_AVAILABLE(10_6, 4_0);
//18.这种方法标示着传入函数的參数是一个动态对象类型和一个布尔类型。返回一个布尔类型的代码块
- (NSSet *)objectsPassingTest:(BOOL (^)(id obj, BOOL *stop))predicate NS_AVAILABLE(10_6, 4_0);
//19.同上,添加了列举计算选项
- (NSSet *)objectsWithOptions:(NSEnumerationOptions)opts passingTest:(BOOL (^)(id obj, BOOL *stop))predicate NS_AVAILABLE(10_6, 4_0);
@end
@interface NSSet (NSSetCreation)
//20.高速创建set
+ (instancetype)set;
//21.创建set并初始化一个对象
+ (instancetype)setWithObject:(id)object;
//22.创建set并初始化一些对象 分配大小
+ (instancetype)setWithObjects:(const id [])objects count:(NSUInteger)cnt;
//23.创建set并初始化一些对象 以nil结尾
+ (instancetype)setWithObjects:(id)firstObj, ... NS_REQUIRES_NIL_TERMINATION;
//24.创建set并初始化加入set
+ (instancetype)setWithSet:(NSSet *)set;
//25.创建set并初始化加入一组数组
+ (instancetype)setWithArray:(NSArray *)array;
//26.创建set并初始化加入一组数组
- (instancetype)initWithObjects:(id)firstObj, ... NS_REQUIRES_NIL_TERMINATION;
//27.创建set并初始化加入set
- (instancetype)initWithSet:(NSSet *)set;
//28.创建set并初始化加入set 添加标识符
- (instancetype)initWithSet:(NSSet *)set copyItems:(BOOL)flag;
//29.创建set并初始化加入一组数组
- (instancetype)initWithArray:(NSArray *)array;
@end
/**************** Mutable Set ****************/
@interface NSMutableSet : NSSet
//30.可变set加入一个对象
- (void)addObject:(id)object;
//31.移除set对象
- (void)removeObject:(id)object;
- (instancetype)initWithCoder:(NSCoder *)aDecoder NS_DESIGNATED_INITIALIZER;
//32.初始化set
- (instancetype)init NS_DESIGNATED_INITIALIZER;
//33.为set初始化设置大小
- (instancetype)initWithCapacity:(NSUInteger)numItems NS_DESIGNATED_INITIALIZER;
@end
@interface NSMutableSet (NSExtendedMutableSet)
//34.为set加入对象通过数组
- (void)addObjectsFromArray:(NSArray *)array;
//35.为set插入新的set
- (void)intersectSet:(NSSet *)otherSet;
//36.从接受者中删除NSSet的左右成员
- (void)minusSet:(NSSet *)otherSet;
//37.移除set的全部对象元素
- (void)removeAllObjects;
//38.取两个集合的并集,假设给定集合中的成员不是接收集合的成员,则将这个成员加入到接收集合中。
- (void)unionSet:(NSSet *)otherSet;
//39.将otherSet替换了set而且将两个集合的交集加到set中
- (void)setSet:(NSSet *)otherSet;
@end
@interface NSMutableSet (NSMutableSetCreation)
//40.新建集合 而且设置初始化的长度
+ (instancetype)setWithCapacity:(NSUInteger)numItems;
@end
/**************** Counted Set ****************/
//41.创建集合 而且初始化长度
- (instancetype)initWithCapacity:(NSUInteger)numItems; // designated initializer
//42.创建集合 以数组初始化对象
- (instancetype)initWithArray:(NSArray *)array;
//43.创建集合 以其它set初始化集合对象
- (instancetype)initWithSet:(NSSet *)set;
//44.统计反复集合对象的个数
- (NSUInteger)countForObject:(id)object;
//45.返回一个枚举类型
- (NSEnumerator *)objectEnumerator;
//46.加入一个对象
- (void)addObject:(id)object;
//47.移除一个对象
- (void)removeObject:(id)object;
@end
相关文章
- openGL之API学习(六十九)水平同步 垂直同步「建议收藏」
- React源码学习入门(一)新手如何学习React源码
- 前端如何学习更有计划性、提升更稳更快?
- MySQL数据库原理学习(十一)
- 我的数学学习回忆录——一个数学爱好者的反思(一)
- Swoole 学习:协程、线程、IO多路复用、PHP多进程。
- Linux网络编程实战:用实例学习(linux网络编程实例)
- Java数据持久层框架 MyBatis之API学习七(动态 SQL详解)编程语言
- Linux内核API手册:实现技术最新突破(linux内核api手册)
- 学习Redis:实现快速而强大的数据访问(redis用法)
- 探索Linux驱动API:开启发展之路(linux驱动api)
- Redis拥抱中文:强大的中文API(redis中文api)
- 教程学习Oracle:掌握游标的视频教程(oracle游标视频)
- 学习Oracle应用技能:培训你成为一名优秀的Oracle工程师(oracle工程师培训)
- 如何学习SQL Server:一步一步开始(怎么读sqlserver)
- Linux脚本学习设置:从入门到精通(linux 脚本 set)
- c语言编程API实现MySQL数据库连接(c api链接mysql)
- 数据库存储的API文档从离线文件变有效信息(api文档存mysql)
- API实现MySQL数据库备份(api备份mysql)
- 快速下载API数据使用MySQL实现(mysql下载api数据)
- 学习Oracle中API文档,路更顺畅(oracle中api文档)
- 简易Redis操作开启通用API之旅(redis 通用api)
- 坏狼php学习计数器实例代码
- 学习php开源项目的源码指南