我有一些在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