我在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
答案 0 :(得分:6)
您可以修改原始Foo
,而不是数组本身。正如您在文档中链接的那样:
祝你好运!该方法不能采用任何参数,并且不得具有修改接收数组的副作用。