Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 目标C:将变量传递到块_Objective C_Objective C Blocks - Fatal编程技术网

Objective c 目标C:将变量传递到块

Objective c 目标C:将变量传递到块,objective-c,objective-c-blocks,Objective C,Objective C Blocks,我对方块非常缺乏经验。我还没有掌握语法 我想做的是将在方法的第一部分中获得的日期传递到完成块中,以便在完成块运行之前不设置日期,即完成所有其他操作。有人能建议怎么做吗?下面给出了未声明标识符secondItem的错误使用 编辑: - (void)myMethod: (NSInteger *) state { switch (state) { case 1: { //do some stuff } completion:^(BOOL finished) {

我对方块非常缺乏经验。我还没有掌握语法

我想做的是将在方法的第一部分中获得的日期传递到完成块中,以便在完成块运行之前不设置日期,即完成所有其他操作。有人能建议怎么做吗?下面给出了未声明标识符secondItem的错误使用

编辑:

- (void)myMethod: (NSInteger *) state {
    switch (state) {
        case 1: {
//do some stuff
} completion:^(BOOL finished) { 
                   //finish up
                }];
            }
            break;
        }
 default: {
Items* firstItem = [self.fetchedResultsController objectAtIndexPath:indexPath];
           __ block NSDate* myDate = firstitem.date;   
Items* secondItem = [self.fetchedResultsController objectAtIndexPath:sourceIndexPath];


            } completion:^(BOOL finished) {

                secondItem.date = __block myDate;//ERROR THROWN HERE
            }];
            break;
        }
    }

尝试使用_块关键字。可以找到文档

我一直在尝试…刚刚编辑了问题。在myDate之前添加_块确实可以消除那里的错误。但我仍然得到错误的第二项将是什么语法呢?你可以发布真实的代码。你发布的代码是一堆糟糕的缩进和语法错误。如果我理解正确,你想创建完成块方法,对吗?如果是这样,请查看以下内容: