从 FirstVC 屏幕中打开另一个屏幕以便再次关闭它的正常方法是这样的:
SecondVC *secondVC = [[SecondVC alloc] initWithNibName:@"SecondVC" bundle:nil];
secondVC.delegate = self; //needed to dismiss
[self presentModalViewController: secondVC animated: YES];
而SecondVC.m
必须导入一个协议,该协议声明调用关闭 SecondVC 的方法
所以我总是必须创建一个SecondVCProtocol.h
基本上如下所示的协议文件:
@protocol SecondVCProtocol <NSObject>
-(void)secondVCDidFinish;
@end
然后在SecondVC.m
我需要导入这个SecondVCProtocol.h
文件,现在终于可以调用
[self.delegate secondVCDidFinish]
我刚刚完成了另一个 Android 应用程序并回到了 iOS 世界,我觉得这相当麻烦。- 需要在单独的文件中定义这样的协议并需要使用委托 - 只是为了完成最正常的任务,比如关闭屏幕......
没有更简单的不太复杂的方法,还是必须这样做?
例如,就像[self dismiss]
在 SecondVC 中一样——没有委托,没有协议——他不是很好吗?
非常感谢!