好的,所以我对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);
答案 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的类的实例