完了ブロックからコールバックリスナーを送信しようとしています。カスタムでコールバックを開始します。UIView
&補完ブロックは親ビューコントローラ(UIView
サブビュー)から実行されます。ここでは、コードがある... ViewController.m
目的-Cコールバックが不幸なバックグラウンドクラッシュで動作しない
-(void) exportCompletionBlock:(ExportCompletion)callback
{
if (callback) {
self.exportBlock = callback;
}
}
実装にコールバックのViewController.h
typedef void(^ExportCompletion)(BOOL success, NSURL* url);
@property (nonatomic, copy) ExportCompletion exportBlock;
-(void) exportCompletionBlock:(ExportCompletion)callback;
初期&実装にコールバックの
宣言を(私は、デリゲートを使用したくありません) (呼び出しも)完了ハンドラから(ViewController.m
にも)
-(void)blockAlertAppear:(float)progress{
if(EXPORT_SESSION_COMPLETED!=progress)
doing something...
if(EXPORT_SESSION_COMPLETED==progress){
self.exportBlock(YES, mCompositor.url);
}
}
uicustomviewで
コールバック操作... CustomUIView.m
-(void) initUIView{
[(ViewController*)[[self superview] nextResponder] exportCompletionBlock:^(BOOL success, NSURL *url) {
if (success) {
doing something...
}
}];
私はここに、デリゲートを使用することができますが、私はコールバックを使用します。私はコールバックで非常に新しいです。私は理由を知るのが好きです私はクラッシュしています(背景から - その理由は分かりません)&コードを最適化するには?