Mit NSArray der makeObjectsPerformSelector Nebenwirkungen haben
-
08-07-2019 - |
Frage
Ich habe eine NSArray von Foos in einem Objective-C-Programm. Ich möchte die doIt Funktion jedes Foo nennen, die makeObjectsPerformSelector Funktion von NSArray jedoch ist nicht der ursprüngliche Foos modifiziert werden, je die Dokumentation . Der doIt Selektor ändert die m Datenelement für jeden Foo wenn doIt genannt wird. Wie gehe ich über die effizient in der NSArray diese Funktion auf jedem Foo durch?
@interface Foo : NSObject {
NSString *m;
}
@property (nonatomic, retain) NSString *m;
-(void)doIt;
@end
Lösung
Sie dürfen die ursprünglichen Foo
s ändern, nur nicht das Array selbst. Wie Sie in der Dokumentation verknüpft:
Die Methode muss keine Argumente nehmen, und muss die Nebenwirkung der Modifizierung der Empfangsarray nicht haben.
Viel Glück!
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow