首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Elton的技术分享博客

    NSArray 和 KVC

    Theocoacao有篇不错的介绍NSArray和KVC的文章,我给粗略翻译了一下。 NSArray的-valueForKey: 有一个不是很显著的特性. NSArray * justValues; justValues = [tree valueForKeyPath: @"storage.someKey"]; NSLog (@"%@", justValues storage = {someKey = 9; }; } ) 第二个NSLog 返回一个数组的值,这个数组是由封装它的tree对象的 @”storage.someKey”:这个keypath提供的: NSArray

    51130发布于 2021-01-22
  • 来自专栏日常技术分享

    iOSNSSet 和 NSArray的区别

    通过forin循环来遍历 好处:在搜索一个一个元素时NSSet比NSArray效率高,主要是它用到了一个算法hash 。 应用场景: 比如重用Cell的时候,从缓存池中随便获取一个就可以了,无需按照指定顺序来获取 当需要把数据存放到一个集合中,然后判断集合中是否有某个对象的时候 NSArrayNSArray是有序集合

    87610发布于 2020-06-16
  • 来自专栏c#开发者

    NSArray 排序方法的实现

    NSComparisonResult)compare:(Person*)otherObject {return[self.birthDate compare:otherObject.birthDate];}NSArray initWithKey:@"birthDate" ascending:YES] autorelease];NSArray *sortDescriptors =[NSArray arrayWithObject:sortDescriptor];NSArray*sortedArray; sortedArray =[drinkDetails There's also the possibility of sorting with a block since Mac OS X 10.6 and iOS 4: NSArray*sortedArray

    86060发布于 2018-04-12
  • 来自专栏浮躁的喧嚣

    iOS中的NSArray和NSMutableArray

    NSArray基本用法 //初始化 NSArray *array = [NSArray arrayWithObjects:@"A",@"B",@"C",@"D",@"E",@"F", nil ]; NSArray *array1 = @[@"a",@"b",@"c",@"d"]; //获取数组元素个数 NSLog(@"%lu",(unsigned long 排序 NSArray *arr = @[@"90",@"20",@"30",@"10",@"50",]; //数组中的元素不可以是自定义的 NSArray *arr1 = [arr :@"-"]; NSLog(@"%@",arr1); /* A,B,C,D */ NSArray文件读写 NSArray *array = [NSArray /demo.plist" atomically:YES]; NSLog(@"%d",flag); //读文件 NSArray *arr = [NSArray arrayWithContentsOfFile

    63410编辑于 2023-11-22
  • 来自专栏iOS底层原理

    iOS-NSArray与Model模型

    bools)] if (bools){ //发送post请求成功 //dataArr 赋值操作有两种不同的操作 这里我写一个老三步 (让子弹飞快申遗) NSArray *listArr = [NSArray arrayWithArray:dicData[@"结构"][@"需要"][@"和后端"][@"打架(商量)"]]; if (!

    894131发布于 2021-08-13
  • 来自专栏ShaoYL

    NSSet类型 以及与NSArray区别

    NSSet到底什么类型,其实它和NSArray功能性质一样,用于存储对象,属于集合; NSSet  , NSMutableSet类声明编程接口对象,无序的集合,在内存中存储方式是不连续的,不像NSArray ,NSDictionary(都是有序的集合)类声明编程接口对象是有序集合,在内存中存储位置是连续的;         NSSet和我们常用NSArry区别是:在搜索一个一个元素时NSSet比NSArray 而对于NSArray,若想知道A到底在不在数组中,则需要便利整个数组,显然效率较低了;        NSSet,NSArray都是类,只能添加cocoa对象,如果需要加入基本数据类型(int,float

    1.5K110发布于 2018-05-11
  • 来自专栏iOSer

    Array 与 NSArray 的不同点对比表

    是什么(类型) 可变吗 能存啥 NSArray 引用类型,不同指针变量指向同一块内存,对一个变量操作时,会自动映射到另一个变量。

    75810发布于 2021-10-20
  • 来自专栏一“技”之长

    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<ObjectType> *)array copyItems:(BOOL)flag; //通过文件创建数组 + (nullable NSArray<ObjectType

    1.8K20发布于 2018-08-15
  • 来自专栏iOS开发笔记

    iOS开发之__NSArray0、__NSArrayI、__NSArrayM和__NSPlaceholderArray

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

    3.2K80发布于 2018-03-30
  • 来自专栏DannyHoo的专栏

    字符串(NSString)、字典(NSDictionary)、数组(NSArray)的总结

    字符串之后学习的是数组——NSArray 数组的学习思路和字符串是相似的,先要创建,创建之后就是函数的使用。数组的元素可以是任何对象,但数组中装有的元素不是对象而是地址。

    1.4K20发布于 2018-09-13
  • 来自专栏Code_iOS

    Objective-C之NSArray学习笔记(IOS 9.1)

    元素的数组 NSArray *arry1_2 = [NSArray arrayWithObject:@"你好!数组!"] _1 --> %@",arry2_1); //2.2 IOS 9.1可以用,但IOS 9.2 不可以了 // NSArray *arry2_2 = [[NSArray alloc NSArray *arry2_4 = [[NSArray alloc] initWithArray:arry copyItems:YES]; NSLog(@"arry2_4 --> %@ *arry4_1 = @[@1, @2, @3]; NSArray *arry4_2 = @[@1, @2, @3]; NSArray *arry4_3 = @[@2, ",@"tt.doc",@"doc",@"y.tif"]; NSArray *fliterArray2 = [arry8_5 pathsMatchingExtensions:[NSArray

    86620发布于 2018-09-04
  • 来自专栏程序员——iOS开发

    iOS面试题:NSCache,NSDictionary,NSArray的区别

    NSArray NSArray作为一个存储对象的有序集合,可能是被使用最多的集合类。 性能特征 在数组的开头和结尾插入/删除元素通常是一个O(1)操作,而随机的插入/删除通常是 O(N)的。 有用的方法 NSArray的大多数方法使用isEqual:来检查对象间的关系(例如containsObject:)。

    1.7K00发布于 2019-07-06
  • 来自专栏日常技术分享

    iOS NSMutableArray和NSArray实例执行mutableCopy和copy方法的区别?

    NSStringFromClass([cp1 class])); NSLog(@"cp2 %p, class %@", cp2, NSStringFromClass([cp2 class])); NSArray

    96230发布于 2020-06-23
  • 来自专栏码农的生活

    Objective-C遍历数组NSArray的3种方法

    Objective-C遍历数组的方法有很多,各种遍历方法效率不尽相同,系统内部会进行不同的优化

    72410发布于 2021-10-29
  • 来自专栏韩曙亮的移动开发专栏

    【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.8K20编辑于 2023-03-27
  • 来自专栏陈满iOS

    iOS·数据结构选型:在某数据结构中避免重复字符串元素(NSArray,NSSet,NSDictionary)

    数据结构选型: 数组:查询复杂度O(N) NSArray 哈希表:查询复杂度O(1) NSSet NSDictionary 1.

    1.6K20发布于 2018-09-10
  • 来自专栏酷酷的哀殿

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

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

    2.4K20发布于 2021-04-26
  • 来自专栏mukekeheart的iOS之旅

    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

    2.4K80发布于 2018-02-27
  • 来自专栏三掌柜的技术空间

    iOS开发:NSSet的使用

    集合和数组的相同点:都是存储不同元素的地址,不同点:NSSet中的元素都是被自动过滤之后的不会重复的元素,NSArray中的元素却是允许重复的;NSSet是一个无顺序的集合,NSArray是一个有顺序的集合 相对来说,NSSet的处理效率比NSArray的要快。 本节内容就来简单的介绍一下NSSet的使用,并且会举一个实际使用案例来展示。 *array1 = [[NSArray alloc] initWithObjects:@“1”,@“2”,@“3”,@“4”, nil]; NSSet *set = [[NSSet alloc] *array1 = [[NSArray alloc] initWithObjects:@“1”,@“2”,@“3”,@“4”, nil]; NSArray *array2 = [array1 objectsAtIndexes *array3 = [[NSArray alloc] initWithObjects:@“1”,@“2”,@“3”,@“4”,@“5”,@“6”, nil]; NSArray *array4 = [array3

    2K64发布于 2021-11-25
  • 来自专栏落影的专栏

    iOS property的多线程问题解析

    // 属性 @property (nonatomic, strong) NSArray *myNumberArr; // 运行代码 for (int i = 0; i < 1000; ++i) { // 属性 @property (atomic, strong) NSArray *myNumberArr; 结果如下: ? NSArray的多线程问题 有一个经典问题:NSArray是否为线程安全类,能否用atomic修饰NSArray属性保证属性的读写线程安全吗? 综上,答案是:NSArray是线程安全类,可以用atomic修饰NSArray属性保证属性的读写线程安全。 但是,是否涉及NSArray的操作,都不需要考虑多线程的问题? 我们能保证NSArray类的线程安全,但是无法保证NSArray内的属性操作是线程安全,所以在使用NSArray时,仍需要小心多线程问题。 思考题?: 为什么题目3可以正常运行?

    1.4K21发布于 2020-08-25
领券