ios回调块返回值

时间:2017-06-01 08:05:16

标签: ios callback block

我正在测试回叫和阻止功能。

我正在使用iOS中的objective-c。

我写一个回调方法名称是“dosomethingProcessWithCompletion”。

dosomethingProcessWithCompletion 执行某些操作,然后它将获取NSMutableDictionary值,我将使用nsmutabledictionary值来检查某些内容并返回值yes或no。

如果值为yes(------- AAAAA -------),我需要打破

for(NSInteger i = 0; i< myAry.count; i ++).. for for循环。

并使用tryToCallBlockMethod方法返回yes。

如果值为no,for循环将运行到最后一项,并使用tryToCallBlockMethod方法返回no。

但我不知道如何编写回调返回值。

是否有人可以伸出援手?

我的代码如下:

我的AppTool声明:

jquery

我的使用和实现功能如下:

 typedef BOOL(^DoMyProcessCompletion)(NSMutableDictionary *completeresult);
 + (void) dosomethingProcessWithCompletion:(NSURL*)theUrl andUserPsd:(NSString*)psd withCompletion:(DoMyProcessCompletion) completion{

 .....
 ....
 ..
 NSMutableDictionary *resultDic = [NSMutableDictionary dictionary];
 if( something == YES ){

  [resultDic setObject:[NSNumber numberWithBool:YES] forKey:@"resultDicKey"];
     [resultDic setObject:myData forKey:@"myDataDicKey"];
       }else{
 [resultDic setObject:[NSNumber numberWithBool:NO] forKey:@"resultDicKey"];
     [resultDic setObject:[NSNull null] forKey:@"myDataDicKey"];
       }
  completion(resultDic)
 }

非常感谢。

1 个答案:

答案 0 :(得分:0)

当您在功能中使用阻止时,需要返回如下布尔值。

-(void) tryToCallBlockMethod:(void(^)(BOOL isResult))callback{
        if( result == YES){
                    callback(YES)
                 return YES;
             }else{
                    callback(NO)

             }
}