Objective c 他的代码有什么问题:
我有一个函数,它接受一个需要BOOL参数的块 有时不需要BOOL参数,我只是插入false。它不起作用Objective c 他的代码有什么问题:,objective-c,Objective C,我有一个函数,它接受一个需要BOOL参数的块 有时不需要BOOL参数,我只是插入false。它不起作用 -(void) vLoadStuffsWithURLBlock:(NSString*(^)()) blURL andPermaToastMessage:(NSString *) strPermaMessage { [self vLoadStuffsWithBlock:^(false){ //Doesn't work here return [self arGetArra
-(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:^{}];
}
在代码中写入的“false”是块定义。 您需要的是,在调用块时,将“false”作为参数传递给块。 所以,非常不同。我将其更改为:
-(void) vLoadStuffsWithURLBlock:(NSString*(^)()) blURL andPermaToastMessage:(NSString *) strPermaMessage
{
[self vLoadStuffsWithBlock:^(BOOL something){
return [self arGetArrayToBeParsed:blURL];
} andPermaToastMessage:strPermaMessage];
}
吴宝莉的回答是正确的。为了清楚起见,我只是通过提供一个示例来完成它。你说它不起作用是什么意思?我发现了问题所在。它不应该是vLoadStuffsWithBlock:^(false)。它应该是要求一个变量的东西。