代码之家  ›  专栏  ›  技术社区  ›  Mat Kelly

使用nsarray的makeObjectsPerFormSelector产生副作用

  •  0
  • Mat Kelly  · 技术社区  · 16 年前

    我在一个目标C项目中有一系列的FOO。我想调用每个foo的doit函数,但是nsarray的makeObjectsPerformSelector函数不允许修改原始foo,根据 the docs .当调用doit时,doit选择器更改每个foo的m数据成员。如何有效地对NSARRAY中的每个FOO执行此功能?

    @interface Foo : NSObject {
        NSString *m;
    }
    
    @property (nonatomic, retain) NSString *m;
    
    -(void)doIt;
    
    @end
    
    1 回复  |  直到 16 年前
        1
  •  6
  •   Carl Norum    16 年前

    允许您修改原始文件 Foo S,但不是数组本身。正如您在文档中链接到的:

    方法不能接受任何参数,也不能有修改接收数组的副作用。

    祝你好运!

    推荐文章