gpt4 book ai didi

xcode - 如何在 UITableView 中刷新时清除 NSURL 的缓存

转载 作者:行者123 更新时间:2023-11-28 07:11:17 26 4
gpt4 key购买 nike

你好,我有下面的代码,除了一个异常(exception),它工作正常,在 Pull to Refresh 之后它返回 rss feed 的缓存版本。例如,如果我使用不同的 URL 或为 LoadRSSRefresh 函数添加额外的查询参数,它会即时重新加载新的提要,但如果我想使用相同的 URL 执行下拉刷新,它会提供它的缓存版本。

谢谢

import UIKit
class eventsTableViewController: UITableViewController, UITableViewDataSource, UITableViewDelegate, NSXMLParserDelegate {

var myFeed : NSArray = []
var url: NSURL = NSURL()
var urlRefresh: NSURL = NSURL()
var refresher: UIRefreshControl!
override func viewDidLoad() {
super.viewDidLoad()


self.tableView.rowHeight = 70
self.tableView.dataSource = self
self.tableView.delegate = self


url = NSURL(string: "http://example.com/?cat=6&feed=rss2")!
loadRss(url)


refresher = UIRefreshControl()
refresher.addTarget(self, action: "refresh", forControlEvents: UIControlEvents.ValueChanged)
self.tableView.addSubview(refresher)

urlRefresh = NSURL(string: "http://example.com/?cat=6&feed=rss2")!
loadRssRefresh(url)
}

func loadRss(data: NSURL) {


var myParser : XmlParserManager = XmlParserManager.alloc().initWithURL(data) as XmlParserManager

myFeed = myParser.feeds

tableView.reloadData()


println("load RSSURL01")

}

func loadRssRefresh(data: NSURL) {


var myParser : XmlParserManager = XmlParserManager.alloc().initWithURL(data) as XmlParserManager

myFeed = myParser.feeds

tableView.reloadData()

println("load RSSURL02")
self.refresher.endRefreshing()
}

func refresh(){
loadRssRefresh(urlRefresh)
println(urlRefresh)
}

最佳答案

在创建 NSURLRequest 时,将缓存策略设置为 ReloadIgnoringLocalAndRemoteCacheData

在 swift

let request = NSURLRequest(URL: url, cachePolicy:
NSURLRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData,
timeoutInterval: 10.0)

在 objective-c 中

NSURLRequest *request = [NSURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringCacheData
timeoutInterval:60.0];

关于xcode - 如何在 UITableView 中刷新时清除 NSURL 的缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28331766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com