Как показано на снимке экрана выше, у меня есть файл json (productDetail.json) в моем приложении, затем я пишу файл из данных json, как показано ниже.
else if([(MultipleURLConnection *)connection tag]==2)
{
if([fn writeToFile:responseData fileName:@"productDetail.json"])
[self performSelector:@selector(loadingJSON) withObject:nil afterDelay:0.1];
}
в приведенном выше коде responseData - это NSMutableData, а fn - это имя объекта класса функции, где у меня есть метод ниже
- (BOOL)writeToFile:(NSData *)data fileName:(NSString *)fileName
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *myFile = [documentsDirectory stringByAppendingPathComponent:fileName];
NSFileManager *fm = [NSFileManager defaultManager];
if (![fm fileExistsAtPath:myFile]) // if file doesn't exist, create it
return ([fm createFileAtPath:myFile contents:data attributes:nil]);
else
return ([data writeToFile:myFile atomically:YES]);
}
Теперь я решил удалить файл json из приложения и поместить его на сервер, а затем получить его. Поэтому после помещения файла json на сервер я попытался получить его, как показано ниже.
else if([(MultipleURLConnection *)connection tag]==2)
{
NSURL *url = [NSURL URLWithString:@"http://mysite.com/Infomist/productDetail.json"];
NSData *jsonData = [NSData dataWithContentsOfURL:url];
if(jsonData != nil)
{
NSError *error = nil;
id result = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
if (error == nil)
NSLog(@"show data %@",result);
}
Теперь вышеописанный метод успешно извлекает мои данные с сервера, он показывает все мои данные в NSlog, но теперь проблема для меня заключается в том, как изменить этот метод сейчас
if([fn writeToFile:responseData fileName:@"])
Потому что после размещения файла json на сервере у меня нет файла для передачи имени файла в указанном выше методе для вызова
- (BOOL)writeToFile:(NSData *)data fileName:(NSString *)fileName .
У меня уже есть поток приложений для локального файла json, поэтому мне нужно только записать данные json в свое приложение.