【发布时间】:2010-01-23 02:32:26
【问题描述】:
我正在处理应用程序中的自定义 URL 方案,并试图解决:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
我在我的应用程序中将 URL 传递并成功解析为 NSDictionary,但想知道“现在怎么办?” handleOpenURL 返回一个 BOOL 但返回什么?我很难调试,因为我还没有弄清楚如何让调试器在触发时在设备上运行。
我只知道applicationDidFinishLaunching 在handleOpenURL 之前完成,并且看起来好像我的rootViewController 在屏幕上。
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Load data
[self initializeData];
// Configure and show the window
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
}
无论如何,现在我的 appDelegate 中有这个 NSDictionary 对象,你如何将它传递给 rootViewController 以便它可以在其详细视图中对其进行处理?我会打电话吗
[[navigationController topViewController] addItemWithDictionary:theDictionary];
在handleOpenURL 的return YES; 之前或者,我应该在我的appDelegate 中创建一个NSDictionary 属性,然后在“返回YES;”之后从我的rootViewController (或detailViewController - 尚未确定哪个)中检索它。如果是这样,触发器是什么?我不清楚 handleOpenUrl 的回报将走向何方……以及它们对我有什么价值(如果有的话)。
谢谢!
【问题讨论】:
标签: iphone cocoa-touch uikit uiapplicationdelegate openurl