我刚碰到块,我想它们就是我要寻找的东西,除了一件事:是否可以从块内调用方法[self methodName]?
这就是我想要做的:
-(void)someFunction{
Fader* fader = [[Fader alloc]init];
void (^tempFunction)(void) = ^ {
[self changeWindow:game];
//changeWindow function is located in superclass
};
[fader setFunction:tempFunction];
}
我已经搜寻了几天,但找不到任何证据证明这是可能的。
这是完全有可能的,还是我在尝试将块用于不是他们想要的东西?
我使用块的原因是我创建了一个Fader类,并且我想存储一个块供其在淡出时执行。
谢谢
编辑:好的,我在建议中添加了内容,但仍然出现EXC_BAD_ACCESS错误...
-(void)someFunction{
Fader* fader = [[Fader alloc]init];
__block MyScreen* me = self;
void (^tempFunction)(void) = ^ {
[me changeWindow:game];
//changeWindow function is located in superclass
};
[fader setFunction:tempFunction];
[fader release];
}
也许我不允许给推子功能...?