我有一些在Appdelegate中初始化的類,但是當我在另一個類中得到這個類實例的形式時,它具有「新鮮」狀態。如何正確引用另一個類?
我有以下的AppDelegate中:
接口:
@property (nonatomic, retain) DataController *dataController;
實現:
@synthesize dataController;
- (id)init {
if (self = [super init]) {
DataController *controller = [[DataController alloc] init];
self.dataController = controller;
[controller release];
NSLog(@"items: %d",[self.dataController numberOfItems]);
}
return self;
}
此時DataControlelr類負載對象形式的數據庫。日誌輸出顯示「項目:10」。
我有TableViewController我需要使用DataController。
TableViewController頭:
@interface TableViewController : UITableViewController {
DataController *dataController;
}
@property (retain) DataController *dataController;
@end
實現:
-(id)init{
if (self =[super init]) {
DataController *dc =[(AppDelegate *)[[UIApplication sharedApplication] delegate] dataController];
[dc retain];
dataController = dc;
NSLog(@"items: %d",[self.dataController numberOfItems]);
}
return self;
}
這總是說DataController類有0項。 「新鮮」狀態。
日誌輸出始終是
項目10
項目:0
好像是分配類創建參考新鮮初始化DataController類不知何故?
如何正確引用另一個類?
謝謝。
抱歉粘貼錯誤。它是self.datacontroller = dc。 沒有任何區別。 – Rod 2009-06-01 17:29:41