【发布时间】:2010-12-16 23:05:31
【问题描述】:
我正在开发适用于 iPad 和 iPhone 的通用应用程序。我有一个共享应用程序委托、一个 iPad 应用程序委托(共享共享的子类)和一个 iPhone 应用程序委托(也是共享的子类)——所有这些都基于 XCode 中的模板。该应用程序还有一个用于导航的共享视图控制器。在 iPad 中,它用作 SplitViewController 中的主视图控制器。在 iPhone 应用程序中,它显示为 UINavigationController 的根视图控制器。
在我的共享应用程序委托中,我从我的网络服务器获取一些 JSON 来配置应用程序,当我完成解析该数据后,我将通知发布到 NSNotificationCenter (defaultCenter)。
[[NSNotificationCenter defaultCenter] postNotificationName:kDataReady object:nil];
共享视图控制器是此通知的观察者。
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(onDataReady:)
name:kDataReady
object:nil];
当我在 iPad 上运行应用程序时,共享视图控制器正在接收此通知并适当地调用选择器。在 iPhone 上运行时,它不是。 iPhone 和 iPad 之间的公共类以相同的顺序实例化,我可以通过控制台日志验证这一点。我不知道为什么这没有按预期工作。救命!
【问题讨论】:
标签: iphone objective-c ipad ios ios4