1

好的,所以我对 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 的文件的添加/删除操作。

我现在拥有的代码(在另一个文件中)只是打印空。它在下面列出。我究竟做错了什么?!?

//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);
4

1 回答 1

1

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

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

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

于 2012-05-01T19:10:47.533 回答