0

私はこのファイルを持っています:

XMLParser.h

#import <Foundation/Foundation.h>

 @interface XMLParser : NSObject <NSXMLParserDelegate>
{

    NSXMLParser *parser;

}

-(id)initWitData:(NSData *)data;
-(void)parseXML;


@end

XMLParser.m(その一部)

 #import "XMLParser.h"
 @implementation XMLParser

- (id)initWitData:(NSData *)data
 {
    if (self = [super init]) {

    parser = [[NSXMLParser alloc] initWithData:data];

    [parser setDelegate:self];
}
return self;
}


 - (void)parseXML{

[parser parse];

 };

ViewController.h

#import <UIKit/UIKit.h>
#import "XMLParser.h"

@interface ViewController : UIViewController <CLLocationManagerDelegate>
{

   NSXMLParser *xmlToString;
}


@end

およびViewController.m

 #import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
[super viewDidLoad];
NSString *xmlFilePath = [[NSBundle mainBundle] pathForResource:@"world" ofType:@"xml"];

NSData *data = [[NSData alloc]initWithContentsOfFile:xmlFilePath];
xmlToString = [[NSXMLParser alloc]initWithData:data];
//[xmlToString setDelegate:self];
[xmlToString setShouldResolveExternalEntities:YES];
[xmlToString parseXML]; // I am getting the error here.

}

誰か助けてもらえますか?私は他のプロジェクトとその作業でもほぼ同じことをしました!!! 唯一の違いはinitWithDataです

4

1 に答える 1

2

を作成しNSXMLParser、そこからメソッドを呼び出そうとしXMLParserています。xmlToStringとして宣言してXMLParser*から言うつもりはなかったのですか?

xmlToString = [[XMLParser alloc] initWithData:data];

もちろん、への呼び出しは失敗するため、基になるオブジェクト-setShouldResolveExternalEntities:を公開する必要がある場合があります。NSXMLParser

于 2013-02-14T00:40:23.107 に答える