iOS 应用进入后台时读取本地存储
Read local storage when iOS app enters background
Objective-c 对我来说非常陌生:
当我的 iphone 应用移至后台时,将触发以下方法。在那一刻,我想抓取 UIWebView 本地存储中的项目并存储在应用程序中。
我收到错误 "No known class for selector 'stringByEvaluatingJavaScriptFromString:jsString'"
。如何在保持 UIApplication
?
的同时将此依赖项注入此函数
- (void)applicationDidEnterBackground:(UIApplication *)application
{
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
//Persist local storage data
NSLog(@"Persisting local storage since app entering background");
//Reading local storage item
NSString *jsString = @"localStorage.getItem('mpo.subdomain');";
NSString *someKeyValue = [UIWebView stringByEvaluatingJavaScriptFromString:jsString];
// Store your subdomain in iPhone persistence variable and use it later in the application
NSUserDefaults *userdefault = [NSUserDefaults standardUserDefaults];
[userdefault setObject:someKeyValue forKey:@"subdomain"];
[userdefault synchronize];
//use of User default
NSLog(@"User Subdomain %@",[userdefault valueForKey:@"subdomain"]);
}
代码 [UIWebView stringByEvaluatingJavaScriptFromString:]
正在尝试调用 UIWebview class 上名为 stringByEvaluatingJavaScriptFromString
的 CLASS 方法。 stringByEvaluatingJavaScriptFromString
方法是一个实例方法。您需要将该消息发送到 UIWebView 的实例,而不是 class.
如果您有 属性 myWebView,那么您将使用代码:
[self.myWebView stringByEvaluatingJavaScriptFromString:]
将stringByEvaluatingJavaScriptFromString
消息发送到self.myWebView
属性指向的UIWebview的实例。那就是你想要的。
Objective-c 对我来说非常陌生:
当我的 iphone 应用移至后台时,将触发以下方法。在那一刻,我想抓取 UIWebView 本地存储中的项目并存储在应用程序中。
我收到错误 "No known class for selector 'stringByEvaluatingJavaScriptFromString:jsString'"
。如何在保持 UIApplication
?
- (void)applicationDidEnterBackground:(UIApplication *)application
{
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
//Persist local storage data
NSLog(@"Persisting local storage since app entering background");
//Reading local storage item
NSString *jsString = @"localStorage.getItem('mpo.subdomain');";
NSString *someKeyValue = [UIWebView stringByEvaluatingJavaScriptFromString:jsString];
// Store your subdomain in iPhone persistence variable and use it later in the application
NSUserDefaults *userdefault = [NSUserDefaults standardUserDefaults];
[userdefault setObject:someKeyValue forKey:@"subdomain"];
[userdefault synchronize];
//use of User default
NSLog(@"User Subdomain %@",[userdefault valueForKey:@"subdomain"]);
}
代码 [UIWebView stringByEvaluatingJavaScriptFromString:]
正在尝试调用 UIWebview class 上名为 stringByEvaluatingJavaScriptFromString
的 CLASS 方法。 stringByEvaluatingJavaScriptFromString
方法是一个实例方法。您需要将该消息发送到 UIWebView 的实例,而不是 class.
如果您有 属性 myWebView,那么您将使用代码:
[self.myWebView stringByEvaluatingJavaScriptFromString:]
将stringByEvaluatingJavaScriptFromString
消息发送到self.myWebView
属性指向的UIWebview的实例。那就是你想要的。