- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Create the data controller.
DataController *controller = [[DataController alloc] init];
self.dataController = controller;
[controller release];
rootViewController.dataController = dataController;
// Override point for customization after app launch
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
}在我的应用程序中,我发现rootViewController.dataController = dataController;无法工作。我在@synthesize dataController上设置了一个断点,发现@synthesize dataController没有被调用。
我的代码出了什么问题。
我将我的所有代码与SimpleDrillDownApp (苹果的一个例子)进行比较,它们几乎是相同的。为什么我的应用程序不能工作!编译已通过。但它并没有正常工作。
有人能帮我吗?
发布于 2009-08-28 19:47:45
在看不到您的代码的情况下,最明显的结论是rootViewController是nil,因此,rootViewController.dataController = dataController;什么也不做,因为Objective-C将nil的消息视为no-op。
因此,在执行其他操作之前,请检查以确保rootViewController不为空。
发布于 2009-08-28 15:16:40
你不会看到synthesize调用被调用,synthesize只是为你的属性生成getter和setter,你是如何声明这个属性的呢?当你说它不工作时,你是什么意思?从上面的代码中,我看不出你在哪里初始化了rootViewController,它是通过nib设置的吗?如果是这样的话,也许你把它设置错了,rootViewController是零...
发布于 2010-03-01 13:33:50
dataController是一个简单的ivar访问。
self.dataController会通过吸气器的,不是吗?
https://stackoverflow.com/questions/1347622
复制相似问题