2016-12-13 2 views
0
aufgerufen

Ich debugge ein altes Projekt, das eine alte Bibliothek hat. Ich bin mir nicht sicher, wie sie den Blockhandler von der Button-Action-Methode aufgerufen haben. Sie haben eine Klasse, wo sie eine MethodeCompletion Handler in IBAction-Methode

+ (void) method: (NSString *) parameter; 

erklärt haben, in denen ich denke, sie sind das Hinzufügen Abbruchtaste und Aktionsmethode für die Schaltfläche. Sie haben einen Block als

typedef void (^simpleBlock)(void); 

@property (nonatomic, copy) simpleBlock simpleBlock; 

erklärt Und wenn es in der Klasse Viewcontroller implementiert wird, wird es genannt als

[ClassName method:@"parameter"].simpleBlock = ^{ 
     //Do something 
    }; 

Wie sie den Block mit Button-Aktion verknüpft hätte, und das Verfahren, da konnte ich nicht sehen, wie es Bibliothek ist, bekam nur Header-Datei. Jede Hilfe zum Verständnis dieser Implementierung wäre willkommen. Vielen Dank!

Antwort

1

Für einen Block auf jede Aktion, die wir Code wie diesen Aufruf,

In einem TotalLikes_Comments.h,

@property (nonatomic, copy) void (^LikeButtonTapAction)(TotalLikes_Comments *aCell); 

- (IBAction)openLikesClick:(id)sender; 

In TotalLikes_Comments.m tatsächlichen Durchführung des Verfahrens ist

- (IBAction)openLikesClick:(id)sender { 
    if (self.openLikesTapAction) { 
     self.openLikesTapAction(self); 
    } 
} 

Wo, wann immer auf die Schaltfläche klickt Dieser Block wird mit dem Objekt der Klasse

initialisiert

Jedes Mal, wenn wir die Aktion keine Notwendigkeit wollen theaction Code in der Klassendatei schreiben Sie einfach Ihren Code schreiben, in dem Sie die Klasse eg.in cellforrow atIndexpath

cell.LikeButtonTapAction = ^(TotalLikes_Comments *aCell){ 
    // Do your stuff. 
}; 

Above initialisiert haben, ist die Logik für Hervorrufen-Block in IBAction. Aber in Ihrem Szenario ist dies in Frameworks geschrieben. In dem die Logik der Logik vor allen verborgen ist. z.B.

if(self.openLikesTapAction) { 
    self.openLikesTapAction(self); 
    } 

Ich hoffe, Sie haben eine Idee davon.

Verwandte Themen