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
War es hilfreich?

Lösung

Sie dürfen die ursprünglichen Foos ä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
scroll top