- (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(Apple的一个例子)进行比较,它们几乎相同。为什么我的申请不起作用!编译通过了。但它无法正常工作。
有人可以帮助我吗?
答案 0 :(得分:1)
在没有看到您的代码的情况下,最明显的结论是rootViewController
是nil
,因此,rootViewController.dataController = dataController;
什么都不做,因为Objective-C将消息视为无操作。
因此,在进行任何其他操作之前,请检查rootViewController
是否为零。
答案 1 :(得分:0)
你不会看到调用合成调用,合成只为你的属性生成getter和setter,你如何声明属性?如果你说它不起作用你的意思是什么?从上面的代码我不知道你初始化rootViewController的位置,它是通过nib设置的吗?如果是这样,你可能设置错了,rootViewController是nil ...
答案 2 :(得分:0)
dataController是一个简单的ivar访问。
self.dataController将通过getter,不是吗?