0

我刚刚开始使用适用于 iOS 的 AddThis SDK 来共享我的应用程序中的 URL 和图像。我有一个 MainViewController,它调用一个名为“SummaryViewController”的模态视图控制器。在主视图控制器上按下某个按钮后执行此转场。

“SummaryViewController”上有一个 UIButton,负责在 Facebook(或任何其他)上分享,并执行:

-(IBAction)shareOnFacebook { 
   [AddThisSDK shareImage...];
}

问题是它有效!

那么问题出在哪里?当用户返回主视图控制器时,通过按下“返回”按钮,第二次打开 SummaryViewController并按下“共享”按钮,应用程序崩溃,“无法识别的选择器发送到实例”,有时没有任何消息,并且线程卡在 [ATCoreController topViewController]

知道为什么会发生这种情况以及如何解决吗?第一次展示 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];
}
4

1 回答 1

0

addthis.h 中有一个静态方法。

+ (void)setRootViewController:(UIViewController *)rootViewController;

您应该rootviewcontroller在默认情况下设置第一次,它会设置您的 viewcontroller 实例,但是当您按下并再次打开summaryviewcontroller它时,它会搜索rootviewcontroller或 topviewcontroller分配给前一个实例,因此如果它不可用,您的应用程序会因过多而崩溃。

因此,在呈现弹出窗口之前,请使用此方法解决您的问题。

于 2012-09-25T15:04:41.170 回答