我是iOS应用开发的新手。我正在浏览开发指南。我的应用程序有两个视图 - 一个带有按钮,然后单击该按钮可启动新视图。我添加了一个segue来启动新视图,并能够将其链接到按钮。但我不清楚启动新视图的确切操作以及我如何处理该操作。我想在启动新视图之前进行一些网络操作,因此想要处理该按钮点击事件(修饰)。我可以让Xcode为该特定事件生成虚拟处理函数吗?
答案 0 :(得分:0)
如果您正在使用Storyboard并使用UIButton
来启动新视图,则启动新视图的操作为prepareForSegue:sender:
。在启动视图之前,您想要执行哪些网络操作?例如,如果您需要知道设备是否在线之前启动视图并仅启动它 如果设备具有互联网访问权限,您还可以使用{{1}其中有一个shouldPerformSegueWithIdentifier:sender:
。
例如:
if statement
只有当设备具有互联网访问权限时才会启动视图,如果没有任何事情发生的话。
答案 1 :(得分:0)
在包含故事板的视图控制器上,实现此方法:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"YourSegueIdentifier"]) {
// Implement your network operation here
}
}
它将在segue发生之前执行。
答案 2 :(得分:0)
请勿将segue
连接到按钮,将segue连接到View Controller本身,然后按下按钮的IBAction
:
- (IBAction)myButtonTapped:(id)sender {
// If you need to do some other work prior to firing the segue, do it here.
[self performSegueWithIdentifier:@"MySegue" sender:nil];
}
然后在prepareForSegue方法中完成准备工作:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSString *identifier = segue.identifier;
if ([identifier isEqualToString:@"MySegue"]) {
// Do my stuff here
}
}
我几乎没有将segues
连接到UIButton
s,UITableCell
等,我将它们连接到我的VC,然后在操作中调用segue。这为您提供了更多控制权。