【发布时间】:2015-11-20 07:55:42
【问题描述】:
我有两个名为的应用程序,
- SendDataApp
- 接收数据应用程序
这是我的 ReceiveDataApp
故事板我可以将数据发送到我的接收应用程序并可以通过以下方法处理它,
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options;
但是,这里的问题是我想显示我从 SendDataApp 收到的数据到我的 ReceivedDataApp 的DetailViewController 我正在尝试使用以下方法来处理它,
Appdelegate.m
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
ViewController *viewController = (ViewController *)[storyBoard instantiateViewControllerWithIdentifier:@"View"];
[viewController receivedURL:url];
return YES;
}
ViewController.m
- (void)receivedURL:(NSURL *)url {
[self performSegueWithIdentifier:@"detailIdentifier" sender:url];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"detailIdentifier"]) {
DetailViewController *detail = [segue destinationViewController];
detail.receivingURL = (NSURL *)sender;
}
}
但是,它给了我一些错误
由于未捕获的异常“NSGenericException”而终止应用程序,原因:“找不到用于 segue 'detailIdentifier' 的导航控制器。只有当源控制器由 UINavigationController 的实例管理时,才能使用推送 segue。
我的两个视图控制器仅嵌入在 UINavigationController 中。而且,通常我可以通过按钮操作查看详细信息页面。但是,不是通过 URL Scheme
这里的错误是什么?而且,我在这里做错了吗?
给我一些建议或想法来处理这个问题。
【问题讨论】:
标签: ios objective-c storyboard uistoryboard nsurl