![]() |
1
300
要获取数组的反向副本,请查看
danielpunkass' solution
使用
要反转可变数组,可以将以下类别添加到代码中:
|
![]() |
2
1246
如果您利用内置的
|
![]() |
3
48
一些基准 1。ReverseObjectEnumerator分配对象 这是最快的方法:
结果:
2。迭代ReverseObjectEnumerator 速度在1.5x和2.5x之间:
结果:
三。排序排列比较器 速度在30到40倍之间(这里没有惊喜):
结果:
所以
|
![]() |
4
19
Dasboot的方法是正确的,但是他的代码中有一些错误。下面是一个完全通用的代码片段,它将在适当的位置反转任何nsmutableArray:
您可以将其包装在C函数中,或者对于奖励积分,使用类别将其添加到NSmutableArray中。(在这种情况下,“array”将变为“self”)您也可以通过分配
如果您只有一个常规的NSARRAY,那么就没有办法将其反转到位,因为NSARRAY不能被修改。但是你可以做一个反向的拷贝:
或者用这个小技巧来完成一行:
如果只想向后循环数组,可以使用
( 注释 基本上在2014更新了五年的基础经验,一个新的Objto-C特征或两个,和夫妇的提示从评论。 |
![]() |
5
8
在审查了对方的上述答案并发现 Matt Gallagher's discussion here 我提议:
正如马特观察到的:
此后不久,他回答如下:
|
![]() |
6
8
乔治施佩利的分类很不错。但是,对于NSmutableArray,当数组为空时,使用NSuinteger作为索引会导致崩溃。正确的代码是:
|
![]() |
7
7
|
![]() |
8
7
反向枚举数组的最有效方法:
使用
|
![]() |
9
3
反向数组并循环通过它:
|
![]() |
10
2
要更新此信息,可以使用以下工具轻松完成:
|
![]() |
11
1
对于我,您是否考虑过首先如何填充数组?我正在向一个数组中添加许多对象,并决定在开始时插入每个对象,将现有的对象逐个向上推。在这种情况下,需要可变数组。
|
![]() |
12
1
或者斯卡拉的方式:
|
![]() |
13
0
我不知道任何内置方法。 但是,手工编码并不太困难。假设要处理的数组元素是整数类型的nsnumber对象,“arr”是要反转的nsmutableArray。
因为您从一个nsarray开始,那么您必须首先用原始nsarray(“origarray”)的内容创建可变数组。
编辑:修复了循环计数中的n->n/2,并根据布伦特答案中的建议将nsnumber更改为更通用的ID。 |
![]() |
14
0
如果您只想反向迭代,请尝试以下操作:
您可以执行一次[MyArrayCount]并将其保存到一个局部变量(我认为它很昂贵),但我也猜测编译器对上述代码的处理方式大致相同。 |
![]() |
15
0
Swift 3语法:
|
![]() |
16
0
试试这个:
|
![]() |
17
0
有一种简单的方法可以做到。
我希望这有帮助。 |
![]() |
18
0
这是一个很好的宏,可以用于NSmutableArray 或 NSArray:
使用Just Call:
|
![]() |
ALz · 搜索并找到一个短语,得到它前面和后面的两个单词 7 年前 |
![]() |
MixCoded · NSDictionary格式 9 年前 |
![]() |
Gopal Devra · 按特定顺序排序NSArray 10 年前 |
|
BigK · 如何将用户的实际时间与NSArray进行比较? 10 年前 |
![]() |
kpce · 带有NSNumber数组的If语句 10 年前 |