【问题标题】:Loading and caching array or PDF files using Parse to load into WebView - Swift使用 Parse 加载和缓存数组或 PDF 文件以加载到 WebView - Swift
【发布时间】:2015-09-04 14:24:52
【问题描述】:

我在解析时存储了数据,我用它来填充 UITableView 作为主视图,并在单击一行时显示详细信息(webview 中的 PDF 文件)。所有这些数据当前都存储在解析中并使用object.cachepolicy = .NetworkElseCache 表视图将在没有网络的情况下从缓存中加载。 PDF 仅在有网络连接时才会加载,但会缓存,要求用户首先物理访问每个文件,然后才能离线使用。有没有办法缓存类中的所有内容(字符串和 PDF 文件),以便在首次打开应用程序时下载所有内容,而不是每行选择。这就是我加载网络视图的方式

            let url = NSURL (string: urlfile.url!);
    let requestObj = NSURLRequest(URL: url!);
    webview.loadRequest(requestObj);

字符串在哪里(https:// 等),因此它指向在线资源,但仅在单击时缓存。希望这一切都有意义!

【问题讨论】:

    标签: swift pdf caching parse-platform webview


    【解决方案1】:

    如果我的理解正确,您希望立即下载与 tableview 数据关联的所有 PDF,而不是等待用户选择单个行,然后尝试访问其各自的 PDF 并在必要时获取.

    为了实现这一点,您可以使用 PFFiles 以相同的缓存策略在本地存储 PDF 数据,并在数据为零时获取它们(例如在第一次使用时)。只需将 PFFile URL 属性与您的 PDF URL 相关联,并在您的 tableview 出现后立即在后台获取它们。

    您很可能只想在用户使用 wifi 时执行此操作,因为可能需要通过蜂窝网络下载大量数据。

    【讨论】:

    • 感谢您的回复。我就是不能解决这个问题!是的,你是对的,我想在打开表格视图时将整个 PDF 表格加载到缓存中,无需网络即可访问。我将它们作为 PFFiles 存储在 MainViewController 'self.pdfArray.append(objectIDs[i].valueForKey("PDFFile") as!PFFile)' 但我可以让它加载到 pdf 中的唯一方法是调用 url因此指向需要连接的 https:// url...(我应该在初始问题的代码上方添加“var urlfile = PFFile()”。
    • PFFiles 会自动为您缓存其数据。 PDF 文件应该与您在 Parse 上创建的某个类相关联。完成包含表数据的这些类对象的查询后,使用这些对象在每个对象的相应 PFFile(PDF)上调用 getDataInBackground
    • 完美。 PFFile 纯粹包含一个 url 并在第一页上查询它并下载所有内容是没有任何意义的,我只是没有获取数据并将其放入 webview 中。 ' 让 data = urlfile.getData() webview.loadData(data, MIMEType:"application/pdf", textEncodingName:nil, baseURL:nil)' 完成。感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    • 2015-01-16
    • 2014-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多