ブロックに出くわしましたが、それらは私が探しているものだと思いますが、1 つのことを除いて: ブロック内からメソッド [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];
}
フェーダーに機能を持たせてはいけないのかな…?