访问共享委托与 iPhone/iPad 委托?

发布于 2024-09-06 08:50:03 字数 152 浏览 7 评论 0原文

如何在通用应用程序中访问共享委托或设备特定的“委托”?

我想在 Shared 委托上存储属性并将基本逻辑放在那里,但如果我想要在 iPhone 委托上执行 iPhone 特定的内容,我会假设我需要分别访问这两个委托。这是正确的吗?

如何在代码中访问这些委托?

How do I access the shared delegate or the device specific "delegate" in a Universal App?

I want to store properties on the Shared delegate and put basic logic there, but if I want to do, say iPhone specific stuff on the iPhone delegate, I would assume that I need to access the two delegates separately. Is this correct?

How do I access these delegates in code?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

划一舟意中人 2024-09-13 08:50:03

我不确定您所说的设备特定代表是什么意思。我假设“共享委托”指的是您的应用程序委托。如果您需要特定于 iPhone 或 iPad 的功能,您可以这样做:

BOOL isiPad = NO;
if ([UIDevice instancesRespondToSelector:@selector(userInterfaceIdiom)]) {
    UIUserInterfaceIdiom idiom = [[UIDevice currentDevice] userInterfaceIdiom];

    if (idiom == UIUserInterfaceIdiomPad) {
        isiPad = YES;
    }
}

if (isiPad) {
    // iPad-specific stuff
} else {
    // iPhone-specific stuff
}

这比使用 #define 更好,因为您可以编译一个通用应用程序以在所有 iOS 设备上运行。

编辑:添加了一些自省,以防止在 iPhone OS 3.1.x 及更早版本上崩溃。谢谢,巴斯蒂安。

I'm not sure what you mean by device-specific delegates. I'm assuming that by "shared delegate" you're referring to your application delegate. If you needed something specific to iPhone or iPad, you could do this:

BOOL isiPad = NO;
if ([UIDevice instancesRespondToSelector:@selector(userInterfaceIdiom)]) {
    UIUserInterfaceIdiom idiom = [[UIDevice currentDevice] userInterfaceIdiom];

    if (idiom == UIUserInterfaceIdiomPad) {
        isiPad = YES;
    }
}

if (isiPad) {
    // iPad-specific stuff
} else {
    // iPhone-specific stuff
}

That's better than using #defines because you can compile one universal app to work across all iOS devices.

EDIT: Added some introspection to prevent this from crashing on iPhone OS 3.1.x and earlier. Thanks, Bastian.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文