ブロックをコールバック ハンドラーとして使用したいのですが、アプリがクラッシュしているため、自分が行っていることが適切かどうかわかりません。これが私がやっていることです:
私の FirstViewController では、クラス FirstModel のメソッドを呼び出して、次のようにサーバーからデータを取得しています。
//In FirstViewController.m
[aFirstModelObj retreiveDataWithCallBackHandler:^(NSDictionary *responseDict){
//Data is received so we can proceed...
}];
//In FirstModel.m
typedef void(^newBlock)(NSDictionary *);
newBlock theBlock;
-(void)retreiveDataWithCallBackHandler:(void(^)(NSDictionary *))aBlock
{
//Saving "aBlock" for further use..
theBlock = aBlock;
//Server Processor will retrieve data using URL asynchronously,
//initializing ServerProcessor object and providing FirstModel its delegate,so that when data is received in ServerProcessor class FirstModel's receivedResponse method will get called.
serverProcessorObj.delegate = self;
}
-(void)receivedResponse:(NSDictionary *)responseDict
{
//once data is received call block,
theBlock(responseDict);
}
デリゲートを失っているため、アプリがクラッシュしています。ServerProcessor から [delegate receivedResponse:response] を呼び出すと、exc bad access と表示されます。誰が私が間違っているのか教えてもらえますか?
前もって感謝します!