![]() |
1
29
MakeObjectsPerFormSelector:将针对数组中的每个对象运行该选择器。如果这些对象被选择器修改,它们将被修改。它不返回任何内容。现在,有一个catch,默认情况下,cocoa中的大多数副本都是浅副本,这意味着您得到了一个新的数组,但它指向的底层对象是相同的对象。您将需要使用initwitharray:copy items来让它也复制根级别的项。如果希望包含更改对象和旧数组的新数组执行以下操作:
|
![]() |
2
15
不。 首先,阅读签名:
第二,注意这是一个nsarray方法,它是一个不可变的类。因此,
有NSmutableArray,由于它是NSarray的一个子类,所以它继承了
对象可以根据您的消息修改自己_,但数组本身将在
|
![]() |
3
7
其他答案,如果你 做 要使用调用方法的结果创建新数组,可以执行以下操作:
本遗嘱 只有 如果对象可以处理'-valueforkey:@“foo”'消息,并且显然,它只适用于不带参数并返回非零值的方法。 |
![]() |
4
2
我希望我能正确地解释… 如果执行[MyArray MakeObjectsPerFormSelector:SomeSelector]操作,那么实际上只需迭代MyArray并向每个对象发送选择器消息。数组未更改,因为不允许MakeObjectsPerFormSelector更改其内容。 因此,最后,您得到了具有相同对象的相同数组。 |
![]() |
5
0
在下面的示例中,您可以看到一个
如果您熟悉JavaScript并尝试查找类似
|
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 4 月前 |
![]() |
bairog · 从按属性筛选的对象数组字典中创建值数组 4 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 4 月前 |
![]() |
Geremia · 2D NumPy数组+1D数组? 5 月前 |
![]() |
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 6 月前 |
![]() |
Paul Williams · 迭代数组时输出有问题 6 月前 |