Je voudrais écrire une méthode similaire à ceci:
+(void)myMethodWithView:(UIView *)exampleView completion:(void (^)(BOOL finished))completion;
J'ai fait dépouillé la syntaxe prises à partir de l'une des Apple des méthodes de la classe pour UIView
:
+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion;
Et s'attend à être utilisé comme suit:
[myFoo myMethodWithView:self.view completion:^(BOOL finished){
NSLog(@"call back success");
}];
Ma question est comment puis-je mettre en œuvre? Si quelqu'un peut me pointer à la documentation correcte, ce serait génial, et un exemple de base serait très apprécié (ou une réponse sur un Débordement de Pile -- je ne pouvais pas en trouver un). Je n'ai toujours pas en savoir assez sur les délégués pour déterminer si c'est même la bonne approche!
J'ai mis un exemple grossier de ce que j'aurais attendu qu'elle soit dans la mise en œuvre de fichier, mais comme je ne peux pas trouver d'info c'est du domaine de la conjecture.
+ (void)myMethod:(UIView *)exampleView completion:(void (^)(BOOL finished))completion {
// do stuff
if (completion) {
// what sort of syntax goes here? If I've constructed this correctly!
}
}