我刚刚开始使用iOS版AddThis SDK,以便共享我的应用程序中的URL和图像。
我有一个MainViewController,它调用了一个名为“SummaryViewController”的模态 View Controller 。
在主 View Controller 上按下某个按钮后,将执行此segue。
在“SummaryViewController”上有一个UIButton负责在Facebook(或其他任何方式)上共享,并执行:
-(IBAction)shareOnFacebook {
[AddThisSDK shareImage...];
}
问题是,它起作用了!
那么问题出在哪里呢?当用户返回主 View Controller 时,通过按“上一步”按钮,第二次打开SummaryViewController ,然后按“共享”按钮,应用程序崩溃,“无法识别的选择器发送到实例”,并且有时没有任何消息,并且线程卡在[ATCoreController topViewController]上
知道为什么会发生这种情况以及如何解决吗?第一次显示VC和第二次显示VC有什么区别?
非常感谢 !!
在MainViewController.m中:
- (IBAction)showSummary:(id)sender {
self.summaryViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Summary ViewController"];
[self presentModalViewController:self.summaryViewController animated:YES];
}
在SummaryViewController.m中:
- (IBAction)dismissModalViewController:(id)sender {
[super dismissModalViewControllerAnimated:YES];
}
最佳答案
addthis.h中有一个静态方法。
+ (void)setRootViewController:(UIViewController *)rootViewController;
您应该在默认情况下第一次设置
rootviewcontroller
,它会设置您的viewcontroller实例,但是当您再次按下并再次打开summaryviewcontroller
时,它将搜索先前分配的rootviewcontroller
或top viewcontroller
,因此,如果不可用,则会导致应用程序崩溃并造成严重后果。因此,在显示弹出窗口之前,请使用此方法解决您的问题。