잡지 응용 프로그램이 있습니다. 서버에서 파일을로드하고 응용 프로그램에 응용 프로그램을 저장할 때 응용 프로그램을 처음 시작할 때만 저장 한 다음 해당 로컬 파일을 사용하여 시간을 절약하고 싶습니다. 서버에있는 데이터는 많은 시간이 필요합니다.xml 파일을 다운로드하여 로컬 iphone 응용 프로그램에 저장하는 방법
NSURL*myurl=url;
myurl = [myurl stringByReplacingOccurrencesOfString:@"\n" withString:@""];
myurl = [myurl stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSURL*urlloaded= [[NSURL alloc]initWithString:myurl];
//NSURL*url= [[NSURL alloc]initWithString:@"http://localhost:8888/RowOne.xml"];
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:urlloaded];
// 위임자 초기화.
RowTwoParser *parser = [[RowTwoParser alloc] initXMLParser];
// 설정 당신은 당신이 보장되는 [self downloadInitialData];
에 전화를 걸 수있는이
- (void)downloadInitialData {
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
if ([userDefaults boolForKey:@"DATA_DOWNLOAD_KEY"] == NO) {
[self showWaitViewWithText:@"Downloading Data..."];
[self fetchDataFromServer];
}
}
- (void)fetchDataFromServer {
//Call to server to downlaod data
//When Data is successfully downloaded
//Stop loading when data save completes
[self stopLoading];
//Update USerDefaults
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setBool:YES forKey:@"DATA_DOWNLOAD_KEY"];
[userDefaults synchronize];
}
같은 것을 사용하여 초기 데이터가 XML 파일을 즉, 다운로드 할 수 있습니다
[xmlParser setDelegate:parser];
BOOL success = [xmlParser parse];
if(success)
NSLog(@"No Errors");
else
NSLog(@"Error Error Error!!!");
xml 파일을 저장하는 대신 데이터를 저장하는 것이 좋습니다. 사전 또는 배열에서 데이터를 추출했을 수 있으므로 사전이나 배열을 NSUserDefults에 저장하고 매번 사용하면 작업량이 줄어 듭니다. XML 구문 분석을 반복적으로 수행하는 것. – Gypsa
예 배열에 데이터를 저장 했으므로 구문 분석을하지 않고도 그 코드를 계속 사용할 수 있습니다. –
내 대답을 참조하십시오. – Gypsa