viewWillAppear 또는 viewDidLoad에서 NSURLConnection을 사용하여 http를 통해 정보를 다운로드 할 수 있습니다. NSXMLParser (또는 iOS 용 다른 XML 파서)를 사용하여 XML을 구문 분석하면 데이터를 다운로드 한 후
//Lets say you have download and process method
- (void)downloadAndProcess
{
//URL you want to download Info from
NSURL* url = [NSURL URLWithString:@"http://google.com"];
//Make a mutable url request
NSMutableURLRequest* req = [[NSMutableURLRequest alloc] initWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:60];
NSURLConnection* conn = [NSURLConnection connectionWithRequest:req delegate:self];
if(conn)
{
//NSMutableData receivedData is an instance variable
receivedData = [[NSMutableData alloc] init];
}
}
//NSURLConnection Delegate methods here
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
[receivedData setLength:0];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[receivedData appendData:data];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
NSLog(@"Error downloading data :%@",[error localizedDescription]);
// release receivedData object when connection fails
[receivedData release],receivedData = nil;
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
// Connection did finish downloading data which you can process based on what your data is
// release receivedData object once you are done processing it.
[receivedData release],receivedData = nil;
}
답장을 보내 주셔서 감사합니다. 메소드 viewWillAppear 및 viewDidLoad는 실제로 앱이 사용자 상호 작용을 위해 준비되기 전에 실제로 호출됩니다. 그러나 특정보기가로드 될 때이 프로세스를 시작하는 방법이 있습니다 (실제로 디바이스에서 앱보기를 볼 수 있음). 사용자 상호 작용 준비. 따라서이 특정보기가 응용 프로그램에로드 될 때 항상 정보를 폴링하고 페이지의 필드를 계속 업데이트합니다. 내가 잘못 대답했는지 해석하면 나를 바로 잡아라. – Teja
ViewController B (앱에 View Controller A, B, C가 Nvigation 컨트롤러에로드 된 경우 A는 nav 컨트롤러의 루트보기 컨트롤러입니다.) A에서 B 및 C로 탐색 할 수 있고 B 또는 C에서 탐색 할 수 있습니다 A로 돌아 가기) 현재보기 사용자가 A 또는 C를보고 있는지 여부와 상관없이 B보기 컨트롤러가 탐색 컨트롤러에로드되면 폴링을 시작 하시겠습니까? 그게 니가 원하는거야 – 0x8badf00d
아니, 내가 내 애플 리케이션을 시작하고 첫 번째 (루트)보기 시나리오를 고려해 보라 지금이 폴링 작업 후에 정보를 폴링하려는 사용자는 B, C ... 그리고 그가 올 때마다 갈 수있다. A로 돌아 가면이 정보를 다시 조사해야합니다. 만약 당신이 혼란스러워서 미안. – Teja