2012-01-16 9 views
2

を警告していることは私のコードは私はXMLを解析しています。ここで

NSURL *url = [[NSURL alloc] initWithString:kBioXML]; 
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:url]; 

XMLParser *parser = [[XMLParser alloc]initXMLParser]; 
[xmlParser setDelegate:parser];  < - warning 

appdelegate.mであるXMLParser.hは

@class AppDelegate, Bio; 

@interface XMLParser : NSObject { 
NSMutableString *currentElementValue; 

AppDelegate *appDelegate; 
Bio *aBio; 

NSString * bioText; 
} 
@property(nonatomic, retain) NSString *bioText; 
- (XMLParser *) initXMLParser; 
@end 

そしてXMLParser.m

@implementation XMLParser 

@synthesize bioText; 

- (XMLParser *) initXMLParser{ 
[super init]; 
appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
bioText = @""; 
return self; 
} 

のように見えます警告は「XMLParser *を送信して、互換性のないタイプのID「 」のパラメータにこの警告を解決する必要がありますか?

..代わりにあなたの方法を

+0

答え –

答えて

2

書き込み

-(id) initXMLParser 
{ 
    self = [super init]; 
    if(self != nil) 
    { 
     appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
     bioText = @""; 
    } 
    return self; 
} 

これをありがとう更新

あなたにはこの

のような.hファイルをNSXMLParserDelegateを実装@interface XMLParser : NSObject <NSXMLParserDelegate>だと@interface XMLParser : NSObjectを置き換えますそれ?

+0

同じ警告... 'ID ' –

+0

あなたがNSXMLParserDelegate * PAR = [NSXMLParserDelegateのアロケーション]のinitを意味していますが、更新を参照してください。 ]; ? –

+0

YEAP !!!どうもありがとうございました!!!ありがとうyorヘルプ! –

2

nsxmlパーサーの代わりにNSXMLParserDelegateオブジェクトを使用し、NSXMLParserDelegateプロトコルはNSXMLParserオブジェクトの代理人によって実装されるオプションのメソッドを定義します。

私はそれがあなたを助けることを願っています!

+0

あなたは私がコード内で何を変更すべきかを歓迎することができます –

+0

このようにして試すことができます。NSXMLParser * xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:url]; XMLParserdelegate * parserdeleagte = [[XMLParserdelegate alloc] init]; [xmlParser setDelegate:parserdelegate]; [xmlParser parse]; – Ballu

+0

いいえXMLParserdelegate –

関連する問題