2011-11-27 4 views
0

XMLParser 파일이 별도로 작동하지만 프로젝트에 넣을 때 오류가 발생하지 않지만 URL에서 데이터를 가져올 수 없습니다. 내 setDelegate 작동하지 않습니다 같아요. xmlpar 및 인쇄 기능을 작동하지만 다른 작동하지 않습니다. 내게 문제가 뭔지 몰라? 누구도 나를 도울 수 ??NSXmlparser의 대리자가 작동하지 않습니다?

내 .H 파일

#import <UIKit/UIKit.h> 

@interface TestttxmlViewController : UIViewController <NSXMLParserDelegate>{ 
    NSXMLParser * pars; 
    NSString * durum; 
    NSMutableArray *arr; 
} 
-(void)print; 
-(void)xmlpar; 
@end 

- 나는 NSXMLParser를 사용하지 않은하지만 난 그것에서 구문 분석하는 생각 때문에이 추측 할 수있는 파일

#import "TestttxmlViewController.h" 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self xmlpar]; 
} 


-(void)xmlpar{ 
    arr=[[NSMutableArray alloc]init]; 
    NSURL * url =[[NSURL alloc]initWithString:@"http://www.milliyet.com.tr/D/rss/rss/Rss_36.xml"]; 
    pars=[[NSXMLParser alloc]initWithContentsOfURL:url]; 
    durum=[[NSString alloc]init]; 
    [pars setDelegate:self]; 
    [pars parse]; 
    [self print]; 
} 
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict { 
    if ([elementName isEqualToString:@"title"]) { 
     durum=elementName; 
    } 
} 
-(void)print{ 
    NSLog(@"%@",arr); 
} 

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 
{ 
    [email protected]""; 

} 


-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 
{ 
    if ([durum isEqualToString:@"title"]) { 
     [arr addObject:string]; 
    } 
    } 

@end 

답변

0

> 내하는 .m 배경 스레드입니다. 이는 파싱을 아직 끝내지 않았으며 이미 arr의 내용을 인쇄하는 메서드를 호출한다는 것을 의미합니다.

-(void)xmlpar{ 
    //.. 
    [pars parse]; 
    [self print]; 
} 

등이 존재하는 경우, 완료 구문 분석 할 때 호출되는 대리자 메서드에서 print 메소드를 호출하려고합니다.

편집

워드 프로세서를 통해보고 후 여전히 작동하지 않습니다 이러지

- (void)parserDidEndDocument:(NSXMLParser *)parser{ 
    [self print]; 
} 
+0

내가 시도 parserDidEndDocument 방식으로 인쇄를 호출하려고합니다. 내 함수 (didStartElement, didEndElement, foundCharacters)가 작동하지 않습니다. 내 일은 내 proplem은 setdelegate 무엇입니까 ?? – muhammedkasva

관련 문제