NSMutableArray添加/删除对象(继承文件)

时间:2012-05-01 19:06:05

标签: nsmutablearray nslog inheritance

好的,所以我对xcode很新,但我无法在任何地方找到特定于此问题的内容。所以我声明了数组并在以下文件中实例化它:

    //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 个答案:

答案 0 :(得分:1)

您的实现文件中需要一个init函数,它看起来类似于以下

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

然后,每当您通过[[xmlToUrl alloc] init]创建xmlToUrl类的实例时,您将拥有一个已经初始化了两个NSMutableArrays的类的实例