这几乎是一个概念验证应用程序。当我使用以下方法启动另一个应用程序时,我试图简单地传递一个 NSArray 值:
UIApplication *test = [ UIApplication sharedApplication ];
BOOL found =
[ test openURL:[ NSURL URLWithString:@"myCalculator://data" ] ];
我想用包含三个整数的 NSArray 替换“数据”。在 myCalculator 中,我在委托中实现了这些方法:
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
NSLog(@"Open application called in calculator");
return [ self application:application handleOpenURL:url ] ;
}
// Depracted
- (BOOL)application:(UIApplication *)application
handleOpenURL:(NSURL *)url {
NSLog(@"%@",application.debugDescription);
return YES;
}
@end
当我从另一个应用程序打开 URL 时,确实会调用它。所以,我不得不提问。如何对 NSArray 进行编码并在打开自定义 URL 时将其传入?而且,如何在上述 appDelegate 方法中对其进行解码?
任何帮助将不胜感激。我在文档中找不到任何关于如何对 NSArray 进行编码以传递到自定义 URL 方案或在接收端对其进行解码的内容。
另外,我是初学者,所以越详细越好。