Objective c 没有internet时如何从tableView中的plist读取数据
我使用plist从json url编写数组。 我希望当不存在internet tableview时从plist获取数据,当存在tableview时从json url获取数据 这是我的代码(我在文档文件夹应用程序中创建plist文件): 有了数组,现在只需将值设置为datasource数组Objective c 没有internet时如何从tableView中的plist读取数据,objective-c,json,uitableview,plist,Objective C,Json,Uitableview,Plist,我使用plist从json url编写数组。 我希望当不存在internet tableview时从plist获取数据,当存在tableview时从json url获取数据 这是我的代码(我在文档文件夹应用程序中创建plist文件): 有了数组,现在只需将值设置为datasource数组 [tableview reloadData]; 要检查internet连接,您可以使用步骤1:使用以下方法检查internet是否连接,请执行此方法 - (BOOL) connectedToInternet
[tableview reloadData];
要检查internet连接,您可以使用步骤1:使用以下方法检查internet是否连接,请执行此方法
- (BOOL) connectedToInternet
{
NSURL *requestURL = [NSURL URLWithString:@"http://www.google.com"];
NSData *data = [NSData dataWithContentsOfURL:requestURL];
return ([data bytes]>0) ? YES : NO;
}
或
第1步:如果你知道的话,你也可以通过苹果实现可达性类来检查互联网的连通性
步骤2:现在在调用Webservice请求之前检查方法中的连接
if([self connectedToInternet])
{
// Make a reqeust to server
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
NSURL *url = [NSURL URLWithString:@"http://yourDomain.com/test.php"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLConnection *con = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[con start];
}
else
{
// Write a Handy code to load Data from Your Local Plist
// Path to plist From Documents Folder
NSString *docFilePath = [DOC_DIR stringByAppendingPathComponent:@"Data.plist"];
NSDictionary *dictData = [NSDictionary dictionaryWithContentsOfFile:docFilePath];
NSLog(@"%@",dictData);
// Reload your TableView
}
我的朋友,没有internet时如何在tableView中显示(如何在plist文件中访问?)为什么需要internet访问plist文件中的内容?它是本地文件。您可以随时访问它。@john Tableview与连接无关,为了检查连接的可用性,请使用可达性类。使用链接编辑答案我的朋友我需要internet检查plist如果plist与url不相等,请更新它,我需要从plisty显示Tableview。您可以编辑问题并添加具体需要的内容。正确指出您需要的内容非常重要。欢迎使用SO。请阅读常见问题解答谢谢我的朋友您能帮助我并告诉我如何从文档文件夹调用.plist文件并存储在NSDictionary中吗?
[tableview reloadData];
- (BOOL) connectedToInternet
{
NSURL *requestURL = [NSURL URLWithString:@"http://www.google.com"];
NSData *data = [NSData dataWithContentsOfURL:requestURL];
return ([data bytes]>0) ? YES : NO;
}
if([self connectedToInternet])
{
// Make a reqeust to server
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
NSURL *url = [NSURL URLWithString:@"http://yourDomain.com/test.php"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLConnection *con = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[con start];
}
else
{
// Write a Handy code to load Data from Your Local Plist
// Path to plist From Documents Folder
NSString *docFilePath = [DOC_DIR stringByAppendingPathComponent:@"Data.plist"];
NSDictionary *dictData = [NSDictionary dictionaryWithContentsOfFile:docFilePath];
NSLog(@"%@",dictData);
// Reload your TableView
}