在 xcode 上工作时,我意识到如果我创建了一个非 void 方法,我从一个类/方法中调用它,那么只有当动作是即时的时,结果才会得到最佳处理。我试图通过插入延迟来进行测试,但我意识到它不再有效。我将在这里写下我创建的示例:
A级
//--------------------CLASS A
- (void)viewDidLoad {
[super viewDidLoad];
i = 0;
Class *classB = [[Class alloc] init];
i = [classB method1];
[self performSelector:@selector(method3) withObject:NULL afterDelay:1.8];
}
-(void)method3 {
NSLog(@"i = %i",i); // i = 0
}
B类
//--------------------CLASS B
-(int)method1 {
[self performSelector:@selector(method2) withObject:NULL afterDelay:1];
return a;
}
-(void)method2 {
a = 800;
}
显然我的问题不是那么微不足道,但我试图尽可能彻底地得到答案,我被建议使用模态方法,但我认为这不是我正在寻找的解决方案。
我能做些什么来解决这个问题?!