- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想让一个数组中的所有对象执行一个选择器。我发现了适当命名的 makeObjectsPerformSelector:
方法,但我对它有疑问。如果我在数组上使用它,它会更改现有数组还是返回一个新数组?如果它修改现有对象,返回应用选择器的新数组的最简单方法是什么?
最佳答案
makeObjectsPerformSelector:将针对数组中的每个对象运行该选择器。如果这些对象被选择器修改,它们将被修改。它不返回任何东西。现在,有一个问题,默认情况下,Cocoa 中的大多数副本都是浅拷贝,这意味着您获得了一个新数组,但它指向的底层对象是相同的对象。您将需要使用 initWithArray:copyItems 使其也复制根级项目。如果您想要一个包含更改对象的新数组以及旧数组,请执行以下操作:
NSArray *newArray = [[NSArray alloc] initWithArray:oldArray copyItems:YES];
[newArray makeObjectsPerformSelector:@selector(doSomethingToObject)];
关于objective-c - makeObjectsPerformSelector :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/563051/
我想让一个数组中的所有对象执行一个选择器。我发现了适当命名的 makeObjectsPerformSelector: 方法,但我对它有疑问。如果我在数组上使用它,它会更改现有数组还是返回一个新数组?如
我有一个 NSArray 对象,我想对每个对象执行选择器 pinInBackgroundWithName:(NSString *)。我知道我可以使用 [arr makeObjectsPerformSe
在 Objective-C 中,我使用这段代码来删除任何 subview : [self.view.subviews makeObjectsPerformSelector:@selector(remo
我想将 BOOL 作为参数传递给 [NSArray makeObjectsPerformSelector:withObject:] 。例如 [buttons makeObjectsPerformSel
作为 obj-c 的新手,我一直在研究 makeObjectsPerformSelector 方法。 我有两个数组,分别包含 UISteppers 和 UITextfields: _stepper =
我有一组名为 _fields 的 UITextField 对象。我希望能够同时向它们发送消息以将它们设置为 highlighted,然后执行相同操作以将 highlighted 属性设置为 NO。这部
我只是将一些 Objective-C 代码移植到 MonoTouch 但我卡在这里了 UIColor *color = ARandomColor(); // ARandomColor Returns
我只是将一些 Objective-C 代码移植到 MonoTouch 但我卡在这里了 UIColor *color = ARandomColor(); // ARandomColor Returns
我想对存储在 NSSet 中的多个对象执行相同的操作。 我的第一次尝试是使用快速枚举: for (id item in mySetOfObjects) [item action]; 效果很好。
我的这段代码带有一个在 Xcode 6 beta 4 中工作的完成处理程序,它不再在 Xcode 6 beta 5 中工作。 dropsToRemove.bridgeToObjectiveC().ma
我是一名优秀的程序员,十分优秀!