NSNotFound到底有多少?
根据this帖子,它是NSIntegerMax。(虽然我在XCode上的iOS 9.3上找不到。)
所以在64位系统中,它应该是2 ^ 64-1或2 ^ 63-1? 我认为它是2 ^ 64-1但是一个帖子说它是2 ^ 63-1,哪一个正确?
答案 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