Usando makeObjectsPerformSelector de NSArray ter efeitos colaterais
-
08-07-2019 - |
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
Solução
Você está autorizado a modificar as Foo
s 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