如何设置在一个类中的数组与另一类

问题描述:

我已经填充,阵列中的一类这样的数据的另一个数组...如何设置在一个类中的数组与另一类

PowerClass.h 

NSMutableArray pickerArray; 
@property (nonatomic, retain) NSMutableArray pickerArray; 

-

PowerClass.m 

@synthesize pickerArray; 

@implementation 
NSMutableArray *array = [[NSArray alloc] initWithObjects:@"stef", @"steve", @"baddamans", @"jonny", nil]; 
pickerArray = [NSMutableArray arrayWithArray:array]; 

而且我试图设置另一个类的阵列

WeekClass.h 

PowerClass   *powerClass; 
NSMutableArray *pickerData; 

@property (nonatomic, retain) NSMutableArray pickerData; 
@property (nonatomic, retain) PowerClass *powerClass; 

WeekClass.m 

@implementation 
pickerData = [NSMutableArray arrayWithArray:powerClass.pickerArray]; 

我没有错误或警告。它只是崩溃。 NSLog表示powerClass.pickerArray为NULL。

请帮我指点正确的方向。

内存管理!您设置了pickerArray = [NSMutableArray arrayWithArray:array];,这是一个自动释放对象。当你之后要求pickerArray时,它就消失了!

解决方法是使用@synthesize d访问器。相反的:

pickerArray = [NSMutableArray arrayWithArray:array]; 

...使用下列之一:

[self setPickerArray:[NSMutableArray arrayWithArray:array]]; 
self.pickerArray = [NSMutableArray arrayWithArray:array]; 
//These two are exactly equivalent, but are both very different from what you have now. 

这样一来,你的财产将进行内存管理你。

+0

嗨,欢呼声我把我的问题写错了......对不起......我的意思是周类picker.Data无效......我该怎么办? (对不起,这是英国时间凌晨4点,当我发送它:-)) Thanx再次... – Stef 2010-04-04 09:51:42