我有一个接受需要BOOL参数的块的函数。
有时候不需要BOOL参数,我只是插入false。它不起作用。
-(void) vLoadStuffsWithURLBlock:(NSString*(^)()) blURL andPermaToastMessage:(NSString *) strPermaMessage
{
[self vLoadStuffsWithBlock:^(false){ //Doesn't work here
return [self arGetArrayToBeParsed:blURL];
} andPermaToastMessage:strPermaMessage];
}
这是它试图调用的函数
-(void) vLoadStuffsWithBlock:(NSArray*(^)(BOOL isAlreadyCanceled)) blarGetArrayTobeParsedWith andPermaToastMessage:(NSString *) strPermaMessage
{
[self vLoadStuffsWithBlock:blarGetArrayTobeParsedWith andPermaToastMessage:strPermaMessage withParseAndReturnIDBlock:^(NSDictionary * dict){
return [self vParseAndReturnID:dict];
} withmoFromDefaultSelector:^(NSString * strObjectDefaultSelector){
return [self moFromDefaultSelector:strObjectDefaultSelector];
} withWhatToDoAfterGettingANewRowToDelegate:^{
[self vWhatToDoAfterGettinANewRowToDelegate];
} andCompletionBlock:^{}];
}
答案 0 :(得分:1)
您在代码中写入的'false'是块定义。 你想要的是当你调用块时,你将'false'作为参数传递给块。 所以,非常不同。
答案 1 :(得分:0)
我把它改为:
-(void) vLoadStuffsWithURLBlock:(NSString*(^)()) blURL andPermaToastMessage:(NSString *) strPermaMessage
{
[self vLoadStuffsWithBlock:^(BOOL something){
return [self arGetArrayToBeParsed:blURL];
} andPermaToastMessage:strPermaMessage];
}
吴宝丽的回答是正确的。我只是通过提供样本来完成它。