2012-05-01 57 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 

因此,這是我感到困惑。我不知道如何正確地「分配」或「初始化」可變數組,也不知道如何處理從繼承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

您需要一個初始化函數在實現文件中,它看起來類似於以下

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

然後每當創建通過您的xmlToUrl類的實例[xmlToUrl的alloc]初始化]你將有一個你的類的實例已經初始化你的兩個NSMutableArrays

+1

完美工作。謝謝!! :D我沒有足夠的代表+1,但如果有人讀這個評論,它應該是值得的! – MrHappyAsthma