我正在测试回叫和阻止功能。
我正在使用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)
}
非常感谢。
答案 0 :(得分:0)
当您在功能中使用阻止时,需要返回如下布尔值。
-(void) tryToCallBlockMethod:(void(^)(BOOL isResult))callback{
if( result == YES){
callback(YES)
return YES;
}else{
callback(NO)
}
}