Objective c 他的代码有什么问题:

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

我有一个函数,它接受一个需要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:^{}];
}

在代码中写入的“false”是块定义。 您需要的是,在调用块时,将“false”作为参数传递给块。 所以,非常不同。

我将其更改为:

-(void) vLoadStuffsWithURLBlock:(NSString*(^)()) blURL andPermaToastMessage:(NSString *) strPermaMessage
{
    [self vLoadStuffsWithBlock:^(BOOL something){
        return [self arGetArrayToBeParsed:blURL];
    } andPermaToastMessage:strPermaMessage];
}

吴宝莉的回答是正确的。为了清楚起见,我只是通过提供一个示例来完成它。

你说它不起作用是什么意思?我发现了问题所在。它不应该是vLoadStuffsWithBlock:^(false)。它应该是要求一个变量的东西。