首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将`NSmutableArray`数组拆分成chunks swift 3?

在Swift 3中,可以使用以下方法将NSMutableArray数组拆分成chunks:

代码语言:swift
复制
extension Array {
    func chunked(into size: Int) -> [[Element]] {
        return stride(from: 0, to: count, by: size).map {
            Array(self[$0 ..< Swift.min($0 + size, count)])
        }
    }
}

let array = NSMutableArray(array: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
let chunks = array.chunked(into: 3)
print(chunks)

上述代码定义了一个名为chunked的扩展方法,该方法将数组拆分成指定大小的chunks。在这个例子中,我们将NSMutableArray转换为Swift的数组,并将其拆分成大小为3的chunks。最后,我们打印出拆分后的chunks。

这种拆分数组的方法在处理大型数据集时非常有用,可以将数据分成更小的块进行处理,提高效率。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

窥探Swift数组与字典

在ObjC中可以使用NSArray来声明不可变数组,使用NSMutableArray来声明可变数组。...NSMutableArray *mutableArray = [NSMutableArray array]; 而在Swift语言中,你可以使用关键字let来声明不可变数组,使用var来声明可变数组,下方代码声明的是...如果你想对数组进行读写的权限的话,那你就有必要使用可变数组NSMutableArray了。使用NSMutableArray就不会报错,因为你对它有读写的权限。 ?...如果n = 3, 就移除前3个元素。     String removeLast(): 移除数组中最后一个元素。 ?...3. 使用Array构造函数给数组赋初始值 在一些应用场景中我们需要为数组中的每一项进行初始化,也就是给数组的每一项赋上初始值。

1.9K90

Objective—C语言的新魅力——Nullability、泛型集合与类型延拓

二、Nullability检测的支持         在swift语言中,通过!和?可以将对象声明成Optional,用于在开发中标记这个对象是否可以为空。...同样,如果我们向这个数组中追加类型不匹配的元素,如下:     NSMutableArray *array = [[NSMutableArray alloc]init];     ...3、关于多参数的泛型集合         多参数的泛型集合,有一个非常好的例子,就是NSDictionary,在Xcode7中我们可以这样写字典: ?...但是以后就不需要了,我们在声明这个数组时加上一个__kindof修饰符: @property(nonnull,strong,nonatomic)NSMutableArray<__kindof UIView...五、结语          虽然这些优点在swift中早有体现,但就我个人而言,我对OC的感情会更深一些,也更加愿意接受OC的改变和成长,大家都说swift的趋势势在必行,我只想说,swift很优秀,OC

98730

「多图警告」手撕排序算法 - iOS进阶必备

5, 7] 为例,它会把 arr 分成两组 A = [ 8 ] 和 B = [ 1, 4, 6, 2, 3, 5, 7] ,逐步遍历 B 中元素插入到 A 中,最终构成一个有序序列: ?...以 arr = [ 8, 1, 4, 6, 2, 3, 5, 7 ] 为例,通过 floor(8/2) 来分为 4 组,8 表示数组中元素的个数。分完组后,对组内元素进行插入排序。...其实,从名字「归并」可以看出一丝「、合」的意思(妄加猜测)。...以 arr = [ 8, 1, 4, 6, 2, 3, 5, 7 ] 为例,排序需要分两步: a、「」,以 length/2 拆分为 A = [ 8, 1, 4, 6 ] ,B = [ 2, 3,...对数组 arr = [ 8, 1, 4, 6, 2, 3, 5, 4 ] 进行排序,使用计数排序需要找到与其对应的一个有序序列,可以使用数组的下标与 arr 做一个映射「数组的下标恰好是有序的」。

88220

希尔排序

.],......等数组做插入排序。 ...... 直到增量d为1时,整个要排序的数被分成一组,排序完成。 怎么理解呢?...我们可以这样理解: 1.将原数组按照增量d1拆分成多个子数组,然后在子数组内做增量排序。 2.再将原数组按照增量d2拆分成多个子数组,然后再在子数组内做增量排序。...3....... 4.直到增量d为1时,整个要排序的数组分成一组,排序完成。 只不过,真实执行时,没必要真的将原数组分成数组,这样会导致空间复杂度增加,也没什么必要。...希尔排序的OC实现 /** 希尔排序 @param randomNumbers 随机数数组 @return 排序后的数组 */ + (NSMutableArray *)shellSort:(...[randomNumbers isKindOfClass:[NSMutableArray class]]) { NSLog(@"参数类型错误,请使用NSMutableArray类型对象做入参

54740

快速排序OC、Swift版源码

今天总结的是快速排序,以后自己写的全都会写OC和Swift两个版本,先说说什么是快速排序。 快速排序: 百度百科这样说的:快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C....快速排序的算法步骤: 1)设置两个变量i、j,排序开始的时候:i=0,j=N-1;    2)以第一个数组元素作为关键数据,赋值给key,即key=A[0];    3)从j开始向前搜索,即由后开始向前搜索...4步,直到i=j; (3,4步中,没找到符合条件的值,即3中A[j]不小于key,4中A[i]不大于key的时候改变j、i的值,使得j=j-1,i=i+1,直至找到为止。...NSArray * array = @[@2,@3,@7,@5,@9,@4,@6,@1,@8]; NSMutableArray * data = [NSMutableArray arrayWithArray...@param startIndex 开始Index @param endIndex 结束Index */ -(void)quickSortDataArray:(NSMutableArray *

66680

简谈常用算法

(int index = 0; index < count; index ++) { printf("%d", array[index]); } return 0; } swift...时间复杂度:min = O(n),max =O(n^2); 算法稳定性:不稳定;(不稳定的原因举例:5 5 3 变为 3 5 5,第一趟排序,第一个5会和3的位置互换,从而破坏该算法的稳定性) 算法实现...withObject:temp]; } } return tempArray; } 快速排序算法 算法实现思想: 1、设置两个变量i、j,排序开始的时候:i=0,j=N-1; 2、以第一个数组元素作为关键数据...+),找到第一个大于key的A[i],将A[i]和A[j]互换; 5、重复第3、4步,直到i=j; (3,4步中,没找到符合条件的值,即3中A[j]不小于key,4中A[i]不大于key的时候改变j、...*sourceMutableArray = [NSMutableArray arrayWithArray:sourceArray]; NSMutableArray *tempMutableArray

51220

OC - 属性关键字和所有权修饰符

所有权修饰符 3. 相关面试题 参考 1. 属性关键字有哪些?...比如说 atomic 修饰的是一个数组的话,那么我们对数组进行赋值和取值是可以保证线程安全的。...但是如果我们对数组进行操作,比如说给数组添加对象或者移除对象,是不在 atomic 的负责范围之内的,所以给被 atomic 修饰的数组添加对象或者移除对象是没办法保证线程安全的。...这样就会造成一个问题:在 Swift 与 Objective-C 混编时,Swift 编译器并不知道一个 Objective-C 对象到底是optional还是non-optional,因此这种情况下编译器会隐式地将...(深浅拷贝) @property (copy) NSMutableArray *array; 答:不论赋值过来的是NSMutableArray还是NSArray对象,进行copy操作后都是NSArray

1.3K31
领券