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
_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学习。的更多相关文章
- Openstack api 学习文档 & restclient使用文档
Openstack api 学习文档 & restclient使用文档 转载请注明http://www.cnblogs.com/juandx/p/4943409.html 这篇文档总结一下我初 ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序
http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...
- Openstack python api 学习文档 api创建虚拟机
Openstack python api 学习文档 转载请注明http://www.cnblogs.com/juandx/p/4953191.html 因为需要学习使用api接口调用openstack ...
- Windows录音API学习笔记(转)
源:Windows录音API学习笔记 Windows录音API学习笔记 结构体和函数信息 结构体 WAVEINCAPS 该结构描述了一个波形音频输入设备的能力. typedef struct { W ...
- NSData所有API学习
www.MyException.Cn 网友分享于:2015-04-24 浏览:0次 NSData全部API学习. 学习NSData,在网上找资料竟然都是拷贝的纯代码,没人去解释.在这种网上 ...
- Node.js API 学习笔记
常用 API 学习笔记 url 函数 url.parse: 解析 url 地址 url.resolve: 向 url 地址添加或替换字段 url.format: 生成 url 地址 querystri ...
- 框架源码系列十一:事务管理(Spring事务管理的特点、事务概念学习、Spring事务使用学习、Spring事务管理API学习、Spring事务源码学习)
一.Spring事务管理的特点 Spring框架为事务管理提供一套统一的抽象,带来的好处有:1. 跨不同事务API的统一的编程模型,无论你使用的是jdbc.jta.jpa.hibernate.2. 支 ...
- RESTful API 学习
/********************************************************************************* * RESTful API 学习 ...
- Windows录音API学习笔记
Windows录音API学习笔记 结构体和函数信息 结构体 WAVEINCAPS 该结构描述了一个波形音频输入设备的能力. typedef struct { WORD wMid; 用于波形 ...
随机推荐
- 关于阻止Sublime Text更新弹窗提示
使用Sublime Text有一段时间了,但每次重新打开都会弹出这家伙↑,很烦 网上查了查一些关闭弹窗的教程,大同小异,都说是打开Preferences --> Settings, 添加一行代码 ...
- luogu4388 付公主的矩形
题面: 为了排解心中的怒气,她造了大量的稻草人来发泄.每天付公主都会把一些稻草人摆成一个R∗C的矩形,矩形的每个方格上都有一个稻草人.然后她站在这个矩形的左上角,向矩形的右下角射箭.付公主的箭术过人, ...
- virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenvwrapper.........(解决办法)
Linux(ubuntu)上python2与python3共存环境下,安装virtualenvwrapper后, 其环境变量被自动设置为VIRTUALENVWRAPPER_PYTHON=/usr/bi ...
- Vue如何mock数据模拟Ajax请求
我们在做一个项目时前期可能没有后端提供接口模拟数据,那么作为前端就需要自己写json文件模拟数据加载.网上往往参考的都是不全面的,比如get请求没问题但是post请求就报错了.在Vue中只需要vue- ...
- JDK的安装和环境变量配置
1.安装JDK开发环境 下载网站: http://www.oracle.com/technetwork/java/javase/downloads/index.html 进入后选择Accept Lic ...
- set/multiset用法详解
集合 使用set或multiset之前,必须加入头文件<set> Set.multiset都是集合类,差别在与set中不允许有重复元素,multiset中允许有重复元素. sets和mul ...
- Thinkphp5.0 的使用模型Model删除数据
Thinkphp5.0 的使用模型Model删除数据 一.使用destory()删除数据 //删除id为3的记录 $res = User::destroy(3); //返回影响的行数 dump($re ...
- android view自定义
转载自:http://blog.csdn.net/iispring/article/details/50708044
- Query on a string
You have two strings SS and TT in all capitals. Now an efficient program is required to maintain a o ...
- [bzoj3489]A simple rmq problem_KD-Tree
A simple rmq problem 题目大意:给定一个长度为$n$的序列,给出$m$个询问:在$[l,r]$之间找到一个在这个区间里只出现过一次的最大的数. 注释:$1\le n\le 10^5 ...