2010-04-04 106 views
0

我已經填充,陣列中的一類這樣的數據的另一個數組...如何設置在一個類中的數組與另一類

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。

請幫我指點正確的方向。

回答

2

內存管理!您設置了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

相關問題