gpt4 book ai didi

ios - NSNotFound 的可用性如何?

转载 作者:可可西里 更新时间:2023-11-01 03:29:55 25 4
gpt4 key购买 nike

NSNotFound 的 Xcode 文档非常困惑:

上面写着“在 iOS 2.0 到 8.4 中可用”和“可用性:iOS 8.1 到 8.0”。所以... 8.0之前可以用吗?还是9.0+?另外,如果是的话,这是怎么回事?

最佳答案

插入 availabilityOfNSNotFound == NSNotFound开个玩笑。


在 Apple 插入强制性 64 位设备支持(iOS 8.4 SDK?)的某个时刻,NSNotFound 的声明更改自:

enum {NSNotFound = NSIntegerMax};

static const NSInteger NSNotFound = NSIntegerMax;

您可以在 <Foundation/NSObjCRuntime.h> 中验证这一点.

文档从未更改,因此 enum 的可用性NSNotFound不再在 SDK 中。但对于 iOS 9 及更高版本,static const NSInteger NSNotFound可用。

虽然我无法回答 NSNotFound 的真实可用性因为我不为 Apple 工作(作为开发人员,我认为在 2.0 之后的所有 iOS 版本中使用是安全的,否则很多基础类会中断,因为它们可以返回 NSNotFound ),您可以检查是否NSNotFound 的内存位置为空:

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wtautological-compare"
BOOL found = (&NSNotFound != NULL);
#pragma clang diagnostic pop
if (found) {
NSLog(@"meh");
}

关于ios - NSNotFound 的可用性如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33419473/

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