gpt4 book ai didi

objective-c - 针对较旧(iOS < 4)设备的通用应用程序(iPad + iPhone) - 有条件地采用协议(protocol)?

转载 作者:搜寻专家 更新时间:2023-10-30 20:23:13 25 4
gpt4 key购买 nike

我正在编写一个可以在 iPad 和 iPhone 上本地运行的通用应用程序。我还需要它针对旧设备(那些不能运行 4.0 的设备),所以 3.1 是必须的。

我已经将 Base SDK 设置为最新的可用版本 (4.2),并将部署目标设置为 3.1。我正在进行大量运行时检查,以便仅在正确的设备/版本上调用相应的方法。

我在 iPad 中使用的其中一个东西是 UISplitViewController。分配 splitViewController 委托(delegate)时,编译器会发出警告,因为类接口(interface)没有明确采用 UISplitViewControllerDelegate 协议(protocol),我担心如果我声明它这样做,应用程序将在没有 UISplitViewController 的旧设备上崩溃/UISplitViewControllerDelegate。

抑制编译器警告的最佳方法是什么?我应该声明一个“空”的 UISplitViewControllerDelegate 吗?如果是这样,我可以在运行时有条件地进行吗?还是只让相应的类接口(interface)符合协议(protocol),而不用担心老设备?

最好的,

最佳答案

您可以通过简单的 C 转换来抑制警告:

foo.delegate = (id<UISplitViewControllerDelegate>)self;

关于objective-c - 针对较旧(iOS < 4)设备的通用应用程序(iPad + iPhone) - 有条件地采用协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4084174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com