2012-05-01 20 views
1

私はxcodeにはかなり新しいですが、どこでもこの問題に特有のものを見つけることはできません。だから私は、配列を宣言し、次のファイルでそれをインスタンス化します。NSMutableArrayオブジェクトを追加/削除する(継承されたファイル)

//xmlToUrl.h 

#import <Foundation/Foundation.h> 


@interface xmlToUrl : NSObject { 
    NSMutableArray *field; 
    NSMutableArray *name; 
} 
@property(nonatomic, retain)NSMutableArray *field; 
@property(nonatomic, retain)NSMutableArray *name; 

@end 

//xmlToUrl.m 

#import "xmlToUrl.h" 

@implementation xmlToUrl 
@synthesize field; 
@synthesize name; 

-(void)dealloc 
{ 
    [field release]; 
    [name release]; 
    [super dealloc];  
} 

@end 

私は混乱していますどこので、これはです。変更可能な配列を正しく "alloc"または "init"する方法や、xmlToUrl.hを継承する別のファイルから追加/削除操作を処理する方法についてはわかりません。

私が今では(他のファイルの)コードはnullを出力しています。その下に記載されています。何が間違っているのですか?

//nodeContent is just a NSMutableString 

[xmlToUrlObject.name addObject:nodeContent]; 
     NSLog(@"xml Name = %@", xmlToUrlObject.name); 

     //I omitted all the operational code here but if I NSLog nodeContent it prints the correct values 

[xmlToUrlObject.field addObject:nodeContent]; 
     NSLog(@"xml Field = %@", xmlToUrlObject.field); 

答えて

1

あなたは[INIT] [xmlToUrlのalloc]あなたをあなたが経由でxmlToUrlクラスのインスタンスを作成するとき、それはその後、次の

-(id) init 
{ 
    self = [super init]; 
    if (self) { 
    field = [[NSMutableArray alloc] init]; 
    name = [[NSMutableArray alloc] init]; 
    } 
    return self; 
} 

のようになり、あなたの実装ファイルにinit関数を必要とします2つのNSMutableArraysを既に初期化しているクラスのインスタンスがあります。

+1

完全に作業しました。ありがとうございました!! :D私は+1するのに十分な担当者がいませんが、誰かがこのコメントを読んだらそれに値する! – MrHappyAsthma

関連する問題