在UIWebView中使用Hanekeswift

时间:2015-09-15 13:04:11

标签: ios swift

我有这段代码:

override func viewDidLoad() {
    super.viewDidLoad()
    let id = NSUserDefaults.standardUserDefaults().objectForKey("id") as! String


    let url = NSURL (string: "http://visia-ontwikkeling.nl/polen/city_details.php?id=\(id)");
    let requestObj = NSURLRequest(URL: url!);
    subtitleLabel.loadRequest(requestObj);
}

我希望它被缓存,所以我可以在没有互联网的情况下使用它,但我找不到如何使用HanekeSwift。这就是我试过的:

override func viewDidLoad() {
    super.viewDidLoad()

    let id = NSUserDefaults.standardUserDefaults().objectForKey("id") as! String


    let cache = Shared.JSONCache
    let url = NSURL (string: "http://visia-ontwikkeling.nl/polen/city_details.php?id=\(id)");
    let requestObj = NSURLRequest(URL: url!);

    cache.fetch(URL: url!).onSuccess { JSON in
        self.subtitleLabel.loadRequest(requestObj);
    }
}

但是它在控制台中给了我这个错误:

  

2015-09-15 15:02:38.584 Ontdek Polen [4478:1133249] [HANEKE] [ERROR]   无效的JSON数据,错误错误Domain = NSCocoaErrorDomain Code = 3840   “操作无法完成。(Cocoa error 3840。)”(JSON文本   没有从数组或对象和选项开始,不允许片段   设置。)UserInfo = 0x7fb161454330 {NSDebugDescription = JSON文本没有   从数组或对象和选项开始,以允许未设置片段。}

我知道问题是它期待JSON,但我需要加载页面的内容。

1 个答案:

答案 0 :(得分:0)

当您无法将即将到来的数据解析为JSON时,错误就在于使用JSONCache。相反,请尝试使用不同的Haneke缓存类型。

在这种情况下,我认为您应该使用原始数据,这将改变这一行:

let cache = Shared.JSONCache

let cache = Shared.dataCache