什么是NSNotFound?

时间:2016-07-31 13:18:23

标签: ios objective-c swift

NSNotFound到底有多少?

根据this帖子,它是NSIntegerMax。(虽然我在XCode上的iOS 9.3上找不到。)

所以在64位系统中,它应该是2 ^ 64-1或2 ^ 63-1? 我认为它是2 ^ 64-1但是一个帖子说它是2 ^ 63-1,哪一个正确?

2 个答案:

答案 0 :(得分:5)

是2 ^ 63-1。在64位数字中,最低有效位为2 ^ 0,最高有效位为2 ^ 63,总共为64位

答案 1 :(得分:2)

这是Foundation/NSObjCRunTime.h中定义的方式:

static const NSInteger NSNotFound = NSIntegerMax;

因此,在32位设备上它是2^31 - 1,在64位设备上它是2^63 - 1。在Swift中,您可以找到常量Int.max