如何在iOS中清除JSON缓存?
我有一个从数据库中提取字符串的方法,我正在使用nodejs和mongodb。当我的应用程序拨打电话时,返回数据。但我的应用程序不会再次拨打相同的电话。例如,当我输入用户名:JohnDoe123时,我希望后端会发回一个与JohnDoe123相关联的ID,它确实会这样做。但我希望能够再次进行相同的查询,所以我是否需要以某种方式清除缓存如何在iOS中清除JSON缓存?,ios,json,caching,Ios,Json,Caching,我有一个从数据库中提取字符串的方法,我正在使用nodejs和mongodb。当我的应用程序拨打电话时,返回数据。但我的应用程序不会再次拨打相同的电话。例如,当我输入用户名:JohnDoe123时,我希望后端会发回一个与JohnDoe123相关联的ID,它确实会这样做。但我希望能够再次进行相同的查询,所以我是否需要以某种方式清除缓存 if ([jsonn objectForKey:@"success"]) { NSNumber* successful = [jsonn objectFor
if ([jsonn objectForKey:@"success"]) {
NSNumber* successful = [jsonn objectForKey:@"success"];
if ([successful boolValue]) {
NSString* idforpic = (NSString*)[jsonn objectForKey:@"idforpic"];
NSLog(@"idforpic: %@", idforpic);
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:idforpic forKey:@"CURRENTPICID"];
if (idforpic != nil) {
picView = [[ProfilePicViewController alloc] initWithId:idforpic];
[picView.view setFrame:CGRectMake(0, self.view.frame.size.height / 3, self.view.frame.size.width, 150)];
[picView setImageUsingId:idforpic];
[self addChildViewController:picView];
[self.view addSubview:picView.view];
removePicView = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(removeProfilePicViewController) userInfo:nil repeats:NO];
}
}
}
基本上,我需要能够运行ifidforpic!=无多次没有JSON缓存。但是,您的设备及其与服务器之间的任何路由器可能都有缓存,因此发送的任何相同请求都可能产生旧值而不是新值。有没有办法产生新值?有办法告诉设备清除缓存。您还可以在请求中添加一个标志,告诉路由器不要缓存响应,尽管很难猜测该标志的执行情况。唯一合理可靠的方法是永远不要发出相同的请求两次。假设您的请求是针对JohnDoe123的,那么该值就在请求的某个地方。