首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIWebView Archiving - iPhone

UIWebView Archiving - iPhone
EN

Stack Overflow用户
提问于 2011-07-13 12:23:30
回答 3查看 761关注 0票数 1

我正在尝试使用NSKeyedArchiver对我的NSKeyedArchiver对象进行归档,然后在相同的状态下使用NSKeyedUnarchiver进行还原。存档/未存档的工作,但UIWebView是空白的时候,再一次(我存档它与一个网站加载),但我需要它有相同的网站,它做了之前,我存档它。

我试过保存HTTPBody of NSURLRequest of UIWebView,但这总是返回(null),所以我想我在那里找错了树。(还是我搞错了?)

以下是我尝试过的:

代码语言:javascript
复制
UIWebView*currentWebview = [[Controller sharedInstance] mainWebView];

NSData*webViewData = [NSKeyedArchiver archivedDataWithRootObject:currentWebview];

[sub setObject:webViewData forKey:@"Instance"]; //saves and decodes correctly, but that's a blank `UIWebView` even though I saved it with contents being loaded

NSData*body = [[currentWebview request] HTTPBody];  //returns (null) always, but the webview is not null and has a valid request

[sub setObject:body forKey:@"HTTP_Body"];

我在这里错过了什么?我需要保持UIWebView的原样,并再次以相同的状态加载它,而不必在稍后阶段打开该URL。

是的,我知道document.documentElement.outerHTMLdocument.documentElement.innerHTML,但这是而不是我想要的。我需要为以后保留整个网站,而不仅仅是HTML代码。

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-13 12:38:50

你在尝试做一些NSKeyedArchiver不愿意做的事情。抱歉的!如果你想存档一个网页,你必须自己做,然后重新加载页面,当你重新创建网页视图。

要获取网站数据,您需要自己加载(使用NSURLConnection等),并在它到达时进行存储。

我想看看ASIHTTP库 -它取代了NSURL.方法使用(IMHO)一组更好、更灵活的对象集。他们刚刚添加了一种新的方法,它应该做您想要做的事情--它被称为ASIWebPageRequest

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2011-07-13 12:39:36

您可以看看这个S.O.专题

这对你没有多大帮助,但似乎其他人尝试过,但没有取得多大的成功。

票数 1
EN

Stack Overflow用户

发布于 2013-02-13 20:00:45

您可以使用以下代码:https://github.com/rnapier/RNCachingURLProtocol易于实现,工作非常完美。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6678786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档