Использование NSArray makeObjectsPerformSelector для побочных эффектов

StackOverflow https://stackoverflow.com/questions/1638411

Вопрос

У меня есть NSArray of Foos в программе Objective-C. Я хотел бы вызвать функцию doIt каждого Foo, однако функция makeObjectsPerformSelector NSArray не позволяет изменять исходные Foos, как указано в документы . Селектор doIt изменяет m член данных для каждого Foo при вызове doIt. Как мне эффективно выполнять эту функцию на каждом Foo в NSArray?

@interface Foo : NSObject {
    NSString *m;
}

@property (nonatomic, retain) NSString *m;

-(void)doIt;

@end
Это было полезно?

Решение

Вам разрешено изменять исходные файлы Foo , но не сам массив. Как вы указали в документации:

  

Метод не должен принимать никаких аргументов и не должен иметь побочного эффекта изменения принимающего массива.

Удачи!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top