使用cachePolicy获取错误

时间:2015-09-16 10:35:12

标签: ios swift

由于我在UIWebView中使用cachePolicy,因此出现此错误:

0x196a994c8 <+28>: ldr x9, [x19] WebThread (6): EXC_BAD_ACCESS (code =1, address=0x8)

如果我首先在代码中打开没有cachePolicy的视图,然后编辑代码以获得cachePolicy并再次构建它,它确实有效。

但是如果我直接使用cachePolicy在未启动该视图的手机上启动视图,那么它就无法运行。

这是我的代码(给出错误):

var url = NSURL(string: "http://visia-ontwikkeling.nl/polen/pages.php?page=information_point")
let requestObj = NSURLRequest(URL: url!, cachePolicy: NSURLRequestCachePolicy.ReturnCacheDataDontLoad, timeoutInterval: 5);
webViewLabel.loadRequest(requestObj);

这就是它的工作方式,但没有缓存:

var url = NSURL(string: "http://visia-ontwikkeling.nl/polen/pages.php?page=information_point")
let requestObj = NSURLRequest(URL: url!);
webViewLabel.loadRequest(requestObj);

enter image description here

1 个答案:

答案 0 :(得分:3)

我建议您查看NSUrlCache。我认为你的缓存策略是错误的。您强制您的请求获取缓存数据,即使它不存在。您应该使用CREATE TABLE IF NOT EXISTS `phones` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `firstname` varchar(50) NOT NULL, `lastname` varchar(20) NOT NULL, `phonenumber` varchar(20) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; INSERT INTO `phones` (`ID`, `firstname`, `lastname`, `phonenumber`) VALUES (1, 'Name', '1', '9158591915'), (2, 'Name', '2', '9158591916'), (3, 'Name', '3', '9158591920'), (4, 'Name', '4', '9158591836'), (5, 'Name', '5', '9158592274'), (6, 'Name', '6', '9158577188'), (7, 'Name', '7', '9158572468'), (8, 'Name', '8', '9158635700'), (9, 'Name', '9', '9159517539'), (10, 'Name', '10', '9168745291'), (11, 'Name', '11', '9226543210'); 。如:

@FXML
private ComboBox category;