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

标签 xcode uitableview swift caching

你好,我有下面的代码,除了一个异常(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/

相关文章:

ios - View 通过平移手势在旋转时奇怪地移动

ios - Swift - NetServiceBrowser 在 TestFlight 中不工作

xcode - arm-apple-darwin11-llvm-g++-4.2 在哪里或者我可以在哪里更改编译器?

iOS 应用提交 : invalid signature

ios - UITableView - 更改与按下的按钮位于同一行的文本字段

ios - 捕获单元格的索引值,但仅来自屏幕上的可见单元格

swift - 断言 viewController 是其 tableView 的委托(delegate)和数据源

ios - iOS内存泄漏的可能原因?

ios - +[iOS8 中的 JSQMessagesAvatarImageFactory 断言失败

swift - 使用 Swift 5+ 将数据写入 OutputStream