使用NSArray的makeObjectsPerformSelector来产生副作用

时间:2009-10-28 16:31:09

标签: objective-c nsarray side-effects

我在Objective-C程序中有一个Foos的NSArray。我想调用每个Foo的doIt函数,但是,NSArray的makeObjectsPerformSelector函数不允许每the docs修改原始Foos。当调用doIt时,doIt选择器为每个Foo更改m数据成员。如何在NSArray中的每个Foo上有效地执行此功能?

@interface Foo : NSObject {
    NSString *m;
}

@property (nonatomic, retain) NSString *m;

-(void)doIt;

@end

1 个答案:

答案 0 :(得分:6)

您可以修改原始Foo,而不是数组本身。正如您在文档中链接的那样:

  

该方法不能采用任何参数,并且不得具有修改接收数组的副作用。

祝你好运!