Tag: caching

在本地存储数据IOS

我有一个UIViewController供用户input他们的数据并提交给我们的ASP.NET Webapi。 有大约40个textField和其他控件。 有什么办法可以保存input本地。 在用户点击提交button之前,数据将不会被清除。 我希望数据仍然存在,甚至重新启动手机或重新启动程序。 保存在XML中?

我如何使iOS的caching无效的特定url?

使用NSURLSession的默认caching,如何使特定URL的caching无效? 我注意到NSURLCache的removeCachedResponseForRequest:方法,但是这需要一个NSURLRequest对象,我没有原始请求。 我是否需要在创build它们时存储这些内容,以便将它们传回到removeCachedResponseForRequest:或者,我可以使用相应的URL创build一个新的URL,然后将其作为等效目的,即使它没有与原始相同的头域和其他属性?

如何防止使用移动Safari浏览器从caching中重新加载网页?

移动Safari使用一个特殊的caching机制Page Cache ( 这里 )基本上保持当前页面活着,但hibernate时,我们导航到另一个页面。 这样,当用户按下backbutton时,它可以立即显示在其最新状态的前一页。 这对于导航和浏览网页很有用,但是对于特殊情况,这会变得令人讨厌,因为每次用户导航到该页面时都需要获取新的页面副本。 (在我的情况下,我必须页面:login和主页)。 我完全知道,没有什么阻止用户打开同一个应用程序的多个选项卡。 我不关心这一点。 用于阻止页面被caching的跨浏览器解决scheme并不能帮助Safari正在保持页面打开,但是不可见和暂停。 window.onpageshow和处理event.persisted没有帮助,因为似乎浏览器由于某些原因第二次(当你按backbutton)不执行onpageshow事件。 请注意,对于那些不知道什么onpageshow事件是关于:苹果不鼓励使用load和unload事件,因为与页面caching的概念这些事件没有明确的意义。 所以, onpageshow应该做我们期望的load事件。

AFNetworking 2.0并仅在离线时使用caching

当用户使用我的应用程序,他们失去了连接或使用飞行模式,我有一个问题。 我的应用服务器端不设置任何caching策略,暂时我不能改变它。 我从AFNetworking 1.x迁移到2.0,现在我在请求时使用AFHTTPRequestOperationManager 。 问题是,因为我没有在服务器端的caching策略,每个请求都是服务器(现在是好的),但如果用户无法连接到我的服务器,它不会加载caching的请求。 所以,我正在尝试以下方法,直接使用AFHTTPRequestOperation : NSURL *URL = [NSURL URLWithString:filePath]; NSMutableURLRequest *request = [[NSURLRequest requestWithURL:URL] mutableCopy]; if (![[AFNetworkReachabilityManager sharedManager] isReachable]) { [request setCachePolicy:NSURLRequestReturnCacheDataElseLoad]; } AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:request]; [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { } failure:^(AFHTTPRequestOperation *operation, NSError *error) { }]; [[NSOperationQueue mainQueue] addOperation:op]; 这样,如果AFNetworkReachabilityManager告诉我没有连接,我为请求configuration了caching策略,并且它正确地从caching中加载。 问题是,这是对这种情况的正确方法吗?

iOScaching策略

我正在做一个连接到NSURL,我需要创build一个请求绕过所有的caching策略。 我见过的例子有: NSURLRequest *request = [NSURLRequest requestWithURL:baseURL cachePolicy:0 timeoutInterval:10]; self.urlConnection = [[[NSURLConnection alloc] initWithRequest:request delegate:self] autorelease]; 请问高速caching策略0是指什么? 已经尝试search数字代表什么,但我没有得到任何我需要的答案。 谢谢! 🙂

如何caching一个AVPlayerItem(video)在UITableview中重用

我在UITableView中显示了一些video。 video远程存储在服务器上。 我可以使用下面的一些代码将video加载到tableview中。 NSString *urlString = [NSString stringWithFormat:[row objectForKey:@"video_uri"]]; NSURL* url = [NSURL URLWithString:urlString]; AVPlayerItem *pItem = [AVPlayerItem playerItemWithURL:url]; AVPlayer *player = [AVPlayer playerWithPlayerItem:pItem]; 每次tableview退出单元格然后重新再次从url中加载video。 我想知道是否有一种方法来下载,caching或保存video,以便它可以从手机播放而无需再次连接。 我试图画出苹果提供的LazyTableImages示例中使用的技术,但是我有点卡住了。

在SWIFT中cachingJSON API的最佳方法是什么?

我需要caching来自API的json数据。 所以我研究了很多并得到这个post 。 我试图在我的应用程序中实现选项1。 但海关经理总是返回零。 我不知道为什么? 之后,我得到了AwesomeCache 。 它说这是一个真棒APIcaching。 但是我不知道如何实现呢? 我提到这个问题 。 我仍然无法弄清楚。 这是我的当前实现看起来没有caching: Alamofire.request(.GET, "http://api.androidhive.info/volley/person_array.json") .responseJSON { (_, _, data, _) in let json = JSON(data!) let catCount = json.count for index in 0…catCount-1 { let name = json[index]["name"].string println(name) } 请build议我从API中cachingJSON的最佳方法? 提前致谢! UPDATE 这些是我的要求 从API获取JSON并parsingJSON数据。 这些可以在Alamofire&SwiftyJSON的帮助下完成 我将在表视图中填充parsing的数据。 它在用户在线时有效。 但是我也想在用户离线时在表格中显示数据。 所以我需要保存parsing数据或JSON数据在我的caching中,我需要在一周或几天内刷新或过期caching。 我不喜欢将JSON存储在我的磁盘中,因为它将被更新。 请build议我最好的方法来实现这个…

Swift – 如何使用AlamofireImage / ImageShack节省内存?

我正在使用Alamofire , AlamofireImage来使用带有Firebase后端的ImageShack存储caching图像。 有时内存超过100MB。 我想在上传之前学习如何改进我的图像caching和缩放比例。 例如,我已经使用该AutoPurgingImageCache在类整个项目中声明了一个公共caching: let photoCache = AutoPurgingImageCache( memoryCapacity: 100 * 1024 * 1024, preferredMemoryUsageAfterPurge: 60 * 1024 * 1024 ) 有没有什么办法来定义这些memoryCapacity , preferredMemoryUsageAfterPurge来节省内存? 他们究竟是什么意思? 我正在使用下面的Alamofire.upload didFinishPickingImage : func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) { let urlStr = "http://post.imageshack.us/upload_api.php" let url = NSURL(string: urlStr)! let imgData = UIImageJPEGRepresentation(image, 0.25)! […]

我怎样才能清除MKMapView的地图块的caching?

我正在研究一个基于MKMapView的iPhone / iPad地图应用程序,该应用程序覆盖了我自己的基本地图,即使在用户离线时无法访问Google的地图磁贴服务器,也可以提供一些有限的function。 此function正在工作 – 但我很难在每个新版本之后进行testing,因为我找不到刷新/重置iOS地图切片caching的方法。 iOScaching甚至可以在iOS设备重启和重启的情况下保存下来。 我以前放大的任何地方都会在之前的testing会话中使用内存中的贴图进行渲染。 有没有办法强制iOS刷新其地图caching? 现在我唯一能想到的方法就是每次需要testing的时候刷新操作系统。 谢谢! 顺便说一句:这几乎是这个问题的重复,但在这种情况下,问题不是testing一个空的caching,而是释放内存。 那里给出的答案集中在RAM问题上,而不是我在这里遇到的同样的问题。

iOScaching一个UIWebView

我写了一个iOS应用程序,在UIWebView中加载一个HTML5 Web应用程序。 我试图使应用程序cache在UIWebView中的所有使用3G连接,而不是再次加载。 它需要遵循WiFi连接上的所有链接,并下载所有页面和图像。 当在3G连接上时,它应该从caching中加载所有的东西。 这可能吗? 任何想法,我应该从哪里开始? 我是否需要让HTML5应用程序在后台加载所有页面,而不是让应用程序执行它? 谢谢你的帮助!