最佳答案
我刚刚遇到了一些块,我认为它们正是我要寻找的,除了一件事: 是否有可能从一个块中调用一个方法[ 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];
}
也许我不能给 褪色剂函数... ?