我有一个包含动画块的方法。我正在尝试将类属性作为参数传递给方法,并在块内为其分配 nil 值。
-(void)endPinching:(UIViewController *)pinchedController{
// a bunch of code
[UIView animateWithDuration:0.2 animations:^{
//do stuff
} completion:^(BOOL finished) {
// do other stuff
pinchedController = nil; //HERE IS THE PROBLEM!!
}];
}
}
因此,如果我在调用它的类中调用此方法,则 pinchController 是 self.pinchController,因此可以在块内设置为 nil。但是在这里,在定义中,我得到一个编译器错误:
"variable not assignable, missing block type specifier"
因此,我尝试通过执行以下操作添加块说明符:
__block pinchedController = nil;
编译器说:
"unused variable pinchedViewController"
我认为这意味着 pinchedController 现在被认为是一个新变量,并且与方法参数无关。
我的问题是:有没有办法将 pinchedViewController 作为参数传入并将其分配给该块内的 nil ?