我的项目中有一个IBAction,当用户按下按钮时,它应该加载一个新的视图控制器,但代码似乎崩溃了
我的代码如下:
- (IBAction)PurchaseItem:(id)sender {
PurchasedViewController *purchaseContr = (PurchasedViewController *)
[self.storyboard instantiateViewControllerWithIdentifier:@"ShowAd"];
_purchaseController.productID = @"com.id";
purchaseContr.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:purchaseContr animated:YES completion:NULL];
}
当我在设备上运行应用程序并按下按钮时,应用程序崩溃在以下行:
[self presentViewController:purchaseContr animated:YES completion:NULL];
我收到的消息是'主题1:断点1.3'
我的Crashlog是:
答案 0 :(得分:0)
如果您正在寻找使用Storyboard和Segues的正确方法......
CTRL
并从原始视图控制器单击并拖动到目标视图控制器。这将从A到B创建和未命名的segue。-(IBAction)purchasItem:(id)sender {
[self performSegueWithIdentifier:@"ShowAD" sender:self];
}
现在,要在目标视图控制器上设置属性,请将另一个方法添加到原始视图控制器中:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"ShowAD"]) {
PurchasedViewController *purchaseContr = [segue
destinationViewController];
purchaseContr.productID = @"com.id";
}
}
现在......说了这么多,我认为问题实际上是你手动设置了一个断点。如果你有一个蓝色箭头的东西,行号是,这是一个手动添加的断点。它会阻止你在该行执行程序......但这不是崩溃。您可以右键单击断点并单击“禁用”或“删除”断点,它将“修复”您的“崩溃”。
答案 1 :(得分:0)
这不是崩溃,它看起来像是手动设置的断点!禁用Xcode中的所有断点并再次运行。