gpt4 book ai didi

ios - 在缓存中保存 JSON 数据

转载 作者:行者123 更新时间:2023-11-29 02:56:20 25 4
gpt4 key购买 nike

我正在开发一个有 TableView 的项目,它在我的服务器上加载 JSON 文件的内容。一切正常,但我有两个问题。

1) 当我更改 View 并加载不同的 View 时,当我返回到此 TableView 时 ... TableView 尝试重新加载内容,没有错误,但进度条短暂出现。如何避免这种情况发生?

2) 我的第二个问题是,一旦加载,如果我失去互联网连接并更改 View ,内容就会丢失。即使我已经下载了。我将如何缓存这些信息?

代码如下:

@interface ProgramacaoTableViewController ()
{
// Object thats hold the content
MProgramacao *_programacao;
}

- (void)viewDidLoad
{
[super viewDidLoad];

// TS MESSAGE
[TSMessage setDefaultViewController:self];
[self.navigationController.navigationBar setTranslucent:YES];

// Add Refresh Control
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];

[refreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged];
self.refreshControl = refreshControl;

////
// Check Connection and Load Data
if ([self IsConnected]) {

// YES INTERNET
// show loader view
[ProgressHUD show:@"Loading.."];

// fetch the feed
_programacao = [[MProgramacao alloc] initFromURLWithString:@"http://myurl..."
completion:^(JSONModel *model, JSONModelError *err) {

//hide the loader view
[ProgressHUD dismiss];

//json fetched
[self.tableView reloadData];

}];


}
else {
// NO INTERNET
[TSMessage showNotificationWithTitle:NSLocalizedString(@"Error Message", nil)
subtitle:NSLocalizedString(@"try again", nil)
type:TSMessageNotificationTypeError];

}

}

我编辑代码。

最佳答案

你应该在viewDidLoad下载数据,然后当用户想要时,他可以将tableView拉到刷新。这是正确的方法。

这样,当您按下 viewController 然后返回时,您的 tableView 也会保持加载状态,并且您的 "临时缓存” 是您的数组 _programacao

如果您还想在关闭应用程序时存储数据,您可以使用例如 CoreData,但这是您不需要的另一件事。

关于ios - 在缓存中保存 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23860604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com