x"?-6ren"> x"?-This question解决如何有条件地包含基于 iOS 版本的代码。但它是如何工作的? 假设我在 Xcode 4.5.2 中将 iOS Deployment Target 设置为 3.2。在我的代-6ren">
gpt4 book ai didi

objective-c - 什么时候使用 "#if __IPHONE_OS_VERSION_MIN_REQUIRED > x"?

转载 作者:可可西里 更新时间:2023-11-01 05:41:51 26 4
gpt4 key购买 nike

This question解决如何有条件地包含基于 iOS 版本的代码。但它是如何工作的?

假设我在 Xcode 4.5.2 中将 iOS Deployment Target 设置为 3.2。在我的代码中,我放入了一些 #ifdef 语句:

#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_4_0
// Some iOS 4+ code
#endif

如果我在 3.2 设备上运行代码,这段代码将不会存在,但如果我在 4.3 设备上运行它,它就会存在,对吗?这是怎么发生的?还是我误解了这里发生的事情?

最佳答案

这是一个编译时检查,因此它会在任何 iOS 版本上创建相同的行为。由于部署目标低于 4.0,if 语句中的代码将不会在任何设备上运行。

如果您想要您描述的行为,您需要进行运行时检查。您可以在链接的线程中查看如何执行此操作的示例。

关于objective-c - 什么时候使用 "#if __IPHONE_OS_VERSION_MIN_REQUIRED > x"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13409188/

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