/****************集合(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
_5,
_0);

//14.在集合中追加另外一个集合

- (NSSet *)setByAddingObjectsFromSet:(NSSet *)other
_5,
_0);

//15.在一个集合后面追加一个数组,返回一个新的集合set

- (NSSet *)setByAddingObjectsFromArray:(NSArray *)other
_5,
_0);

//16.遍历整个集合
运行在block中

- (void)enumerateObjectsUsingBlock:(void (^)(id obj,
BOOL *stop))block
NS_AVAILABLE(_6, _0);

//17.遍历整个集合
而且有遍历选项条件

- (void)enumerateObjectsWithOptions:(NSEnumerationOptions)opts usingBlock:(void
(^)(id obj, BOOL *stop))block
_6,
_0);

//18.这种方法标示着传入函数的參数是一个动态对象类型和一个布尔类型。返回一个布尔类型的代码块

- (NSSet *)objectsPassingTest:(BOOL (^)(id obj,
BOOL *stop))predicate
NS_AVAILABLE(_6, _0);

//19.同上,添加了列举计算选项

- (NSSet *)objectsWithOptions:(NSEnumerationOptions)opts passingTest:(BOOL
(^)(id obj, BOOL *stop))predicate
_6,
_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

NSSet所有API学习。的更多相关文章

  1. Openstack api 学习文档 & restclient使用文档

    Openstack api 学习文档 & restclient使用文档 转载请注明http://www.cnblogs.com/juandx/p/4943409.html 这篇文档总结一下我初 ...

  2. ASP.NET MVC Web API 学习笔记---第一个Web API程序

    http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...

  3. Openstack python api 学习文档 api创建虚拟机

    Openstack python api 学习文档 转载请注明http://www.cnblogs.com/juandx/p/4953191.html 因为需要学习使用api接口调用openstack ...

  4. Windows录音API学习笔记(转)

    源:Windows录音API学习笔记 Windows录音API学习笔记 结构体和函数信息  结构体 WAVEINCAPS 该结构描述了一个波形音频输入设备的能力. typedef struct { W ...

  5. NSData所有API学习

      www.MyException.Cn  网友分享于:2015-04-24  浏览:0次   NSData全部API学习. 学习NSData,在网上找资料竟然都是拷贝的纯代码,没人去解释.在这种网上 ...

  6. Node.js API 学习笔记

    常用 API 学习笔记 url 函数 url.parse: 解析 url 地址 url.resolve: 向 url 地址添加或替换字段 url.format: 生成 url 地址 querystri ...

  7. 框架源码系列十一:事务管理(Spring事务管理的特点、事务概念学习、Spring事务使用学习、Spring事务管理API学习、Spring事务源码学习)

    一.Spring事务管理的特点 Spring框架为事务管理提供一套统一的抽象,带来的好处有:1. 跨不同事务API的统一的编程模型,无论你使用的是jdbc.jta.jpa.hibernate.2. 支 ...

  8. RESTful API 学习

    /********************************************************************************* * RESTful API 学习 ...

  9. Windows录音API学习笔记

    Windows录音API学习笔记 结构体和函数信息  结构体 WAVEINCAPS 该结构描述了一个波形音频输入设备的能力. typedef struct { WORD      wMid; 用于波形 ...

随机推荐

  1. powerdesigner连接MySQL数据库时出现Non SQL Error : Could not load class com.mysql.jdbc.Driver

    Non SQL Error : Could not load class com.mysql.jdbc.Driver 这是因为powerdesigner 无法找到驱动所产生的 解决办法是:配置系统的c ...

  2. python使用zipfile解压文件中文乱码问题

    中文在编程中真实后娘养的,各种坑爹,python3下中文乱码这个问题抓破了头皮,头疼.看了alex的文章,才有种恍然大悟的感觉(链接在底部). 一句话,就是转换成unicode,压缩前是什么编码,使用 ...

  3. find_in_set()和in()比较

    转载于:https://www.cnblogs.com/zqifa/p/mysql-4.html 作者:zqifa 因为自己太懒了,就从大佬那转载来,作为一次笔记! mysql 中find_in_se ...

  4. 导出网页表格数据为Excel文件的前端解决方案

    在工作中,我们有时会遇到这样的需求,比如:要把页面的表格数据导出为Excel文件.在此记录下自己用的解决方法.代码如下: function tableToExcel(data){ //要导出的数据,t ...

  5. POJ - 2955 Brackets (区间DP)

    题目: 给出一个有括号的字符串,问这个字符串中能匹配的最长的子串的长度. 思路: 区间DP,首先枚举区间长度,然后在每一个长度中通过枚举这个区间的分割点来更新这个区间的最优解.还是做的少. 代码: / ...

  6. Ztree节点前加上两个自定义按钮

    前言: 在我的权限管理模块遇到了给某些角色加权限的问题,这时就需要实现将每个模块做成树,在每个节点前加上预览和编辑的按钮,这样可以根据数据库的某个字段给每个角色赋权限. 必须必须吐槽的是,这部分的功能 ...

  7. 输出一定范围unicode对应符号

    #本程序没有考虑对0x的处理,请勿输入,直接输入16进制位即可 begin = input("起始点:") end = input("结束点:") b_int0 ...

  8. UvaLive 4917 Abstract Extract (模拟)

    题意: 给定一篇文章, 文章中有段落, 段落中有句子. 句子只会以'!' , '.' , '?' 结尾, 求出每段中含有与他下面同样是该段落中相同单词数最多的句子, 注意, 单词忽略大小写, 重复的单 ...

  9. c++学习第一课--输入/输出

    1,程序: #include<iostream> int main() {     std::cout<<"Enter two numbers:"<& ...

  10. 解决idea创建ssm项目找不到mybatis的mapper的xml文件问题

    http://blog.csdn.net/v19freedom/article/details/69855302 后来上网搜了下,别人给出的答复 idea在build工程的时候 遇到maven项目 使 ...