我有一个 IBAction,它看起来像这样。
- (IBAction) onPressed: (id) sender {
[self openMyDelegateToSeeIfIAmReady];
if (AmIReady == YES)
{
[self doMyWork];
}
}
现在,这行不通。AmIReady
是一个布尔值,它变为YES
in openMyDelegateToSeeIfIAmReady
。问题是,在AmIReady
变得之前YES
,这段代码
if (AmIReady == YES)
{
[self doMyWork];
}
被调用并且doMyWork
永远不会被调用。我怎样才能让这个方法等到它完成[self openMyDelegateToSeeIfIAmReady]
?
编辑:
这是我所拥有的openMyDelegateToSeeIfIAmReady
- (void) openMyDelegateToSeeIfIAmReady
{
MyViewController *mvc = [[MyViewController alloc]initWithNibName:@"MyViewController" bundle:nil];
mvc.delegate = self;
[self presentModalViewController:mvc animated:YES];
[mvc release];
amIReady = YES;
}
同样在这个委托(MyViewCrontroller)中,它需要用户的输入。如果输入了用户输入,我需要运行doMyWork
.