我试图在 UIApplicationDelegate 中的 application:openURL:sourceApplication:annotation: 方法中的 NSUserDefaults 中保存一些数据,然后在我的主视图控制器中的 viewDidLoad: 中读取这些数据。但是,数据总是空的!
如果我在 viewDidLoad: 中保存相同的数据在主视图控制器中,它会立即可见和可恢复,但不是在我将其保存在 UIApplicationDelegate 中时。
对这种行为有任何想法吗?谢谢你。
这是代码:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
// Save my data
[[NSUserDefaults standardUserDefaults] setURL:url forKey:@"url"];
[[NSUserDefaults standardUserDefaults] synchronize];
return YES;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// It's always false !!
if ([[NSUserDefaults standardUserDefaults] URLforKey:@"url"] != nil){
// Do something with url
}
}