首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

Objective-C中NSArray类的解读

Objective-C中NSArray类的解读     NSArray数组类是Objective-C语言中常用的也是重要的一个类,除了开发中常用到的一些基础功能,NSArray及其相关类中还封装了许多更加强大的功能...NSArray中属性与方法: //获取数组中元素个数 @property (readonly) NSUInteger count; //通过下标获数组中的元素 - (ObjectType)objectAtIndex...:(NSUInteger)index; //初始化方法 - (instancetype)init; //通过C语言风格的数组创建NSArray对象 需要注意,C数组中需要为Objective对象,cnt.../* NSArray * array = @[@1,@2,@3,@4]; 将打印1,2,3,4 NSString * res = [array componentsJoinedByString:@"...)initWithArray:(NSArray *)array copyItems:(BOOL)flag; //通过文件创建数组 + (nullable NSArray<ObjectType

1.2K20

iOS开发之__NSArray0、__NSArrayI、__NSArrayM和__NSPlaceholderArray

在使用NSArray的alloc方法来获取实例的时候,该方法会首先分配一个属于某类的实例,此实例充当“占位数组”(placeholder array)。...该数组稍后会转为另一个类的实例,而那个类则是NSArray的实体子类。这个过程稍显复杂,其完整的解释已超出本书的范围。...} 你要是知道NSArray是个类族,那就会明白上面的代码错在哪里:其中if语句永远不可能为真。...[mybeAnArray class]所返回的类绝不可能是NSArray类本身,因为由NSArray的初始化方法所返回的那个实例其类型是隐藏在类族公共接口(publlic facade)后面的某个内部类型...所以总结一下就是:__NSArrayI是NSArray的真正类型 ,__NSArrayM是NSMutableArray真正类型。

2.8K80

【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词

个元素的 NSArray 对象, 最后一个 nil 元素, 表示 NSArray 集合结束; NSArray * array = [NSArray arrayWithObjects:@"Smoke",...NSArray 枚举器遍历 (1) NSArray 获取枚举器 NSArray 枚举器 NSEnumerator 简介 :  -- "objectEnumerator : " 方法 : 返回 NSArray...NSArray 的 KVO KVC 用法 (1) NSArray KVC 简介 NSArray KVC 简介 : NSArray 可以对元素进行整体 KVC 编码; -- "setValue : forKey...个元素的 NSArray 对象, 最后一个 nil 元素, 表示 NSArray 集合结束; NSArray * array = [NSArray arrayWithObjects:@"Smoke",...NSArray 枚举器遍历 (1) NSArray 获取枚举器 NSArray 枚举器 NSEnumerator 简介 :  -- "objectEnumerator : " 方法 : 返回 NSArray

1.1K20

将判断 NSArray 数组是否包含指定元素的时间复杂度从 O(n) 降为 O(1)

前言 NSArray 获取指定 元素 的位置 或者 判断是否存在指定的 元素 的时间复杂度是 O(n)(包含特定元素时,平均耗时是 O(n/2),如果不包含特定元素,耗时是 O(n))。...官方文档明确指出 NSArray 从第 0 位开始依次判断是否相等,所以判断次数是 n (n 等于数组长度) ? image ?...image 通过类似的思想,我们同样可以 将普通的 NSArray 转换为 NSDictionary 将普通的 NSArray 转换为 NSDictionary 下面,我们按照以下规则设计两个转换方法...: 判断是否存在指定的 元素 字典的 值 是 数组的 索引值 该规则保证字典可以恢复为数组 // 将数组转为字典 + (NSDictionary *)arr2Dic:(NSArray...bridge const void * _Nullable)(obj)]] = @(idx); }]; return [mutableDic copy]; } // 将字典转为数组 + (NSArray

1.7K20

OC学习13——Foundation框架中的集合

一、数组(NSArray与NSMutableArray) 1、NSArray代表元素有序、可重复的一个集合,集合中每个元素都有其对应的顺序索引。...NSArray分别提供了类方法和实例方法来创建NSArray,两种创建方式基本类似,只是类方法以array开头,实例方法以init开头。...来创建NSArray   参考NSArray类的文档,可以看到NSArray集合的方法大致包含如下几类: 查询集合元素在NSArray中的索引,即下标 根据索引值取出NSArray集合中的元素 对集合元素整体调用方法...元素结束,其实这个nil并不会存入NSArray中 7 NSArray* array = [NSArray arrayWithObjects: 8 @"疯狂iOS...value valueForKey::返回该NSArray集合中所有元素的指定key组成的NSArray对象   此外,NSArray还为集合中所有元素或部分元素进行KVO编程提供了如下方法,但是根据Apple

2K80
领券