如何设置在一个类中的数组与另一类
问题描述:
我已经填充,阵列中的一类这样的数据的另一个数组...如何设置在一个类中的数组与另一类
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.
这样一来,你的财产将进行内存管理你。
嗨,欢呼声我把我的问题写错了......对不起......我的意思是周类picker.Data无效......我该怎么办? (对不起,这是英国时间凌晨4点,当我发送它:-)) Thanx再次... – Stef 2010-04-04 09:51:42