Pergunta

Eu tenho um NSArray de Foos em um programa de Objective-C. Gostaria de chamar a função doit de cada Foo, no entanto, a função makeObjectsPerformSelector de NSArray não permite que o Foos original a ser modificada, por os docs . O selector doit muda o membro de dados para cada m Foo quando doit é chamado. Como faço para ir sobre eficientemente executar esta função em cada Foo na NSArray?

@interface Foo : NSObject {
    NSString *m;
}

@property (nonatomic, retain) NSString *m;

-(void)doIt;

@end
Foi útil?

Solução

Você está autorizado a modificar as Foos originais, apenas não o próprio array. Como você vinculado na documentação:

O método não deve ter quaisquer argumentos, e não deve ter o efeito colateral de modificar a matriz de receptor.

Boa sorte!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top