gpt4 book ai didi

cocoa - NSNotFound、NSInteger、NSUInteger 和 NSRange.location

转载 作者:行者123 更新时间:2023-12-03 16:05:15 25 4
gpt4 key购买 nike

NSNotFound 定义为 NSIntegerMax,定义为 LONG_MAX

NSRange.location 定义为 NSUInteger

某些 Foundation 方法返回一个 NSRange,其位置值为 NSNotFound

因此,人们经常进行这样的比较:

if (aRange.location == NSNotFound) 

但这不是应该生成警告的有符号整数和无符号整数之间的比较吗?

最佳答案

您正在将无符号(64 位)变量与有符号常量进行比较,该常量也适合该变量的范围(不是负数)。所以不需要警告。

警告通常在与两侧的负常量或变量进行比较时出现(即一部分为或可以为负,而另一部分仅为正或零)。

旁注:NSNotFound 在 32 位和 64 位平台上是不同的,因此不要硬编码或将该值存储在任何地方。

关于cocoa - NSNotFound、NSInteger、NSUInteger 和 NSRange.location,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6360574/

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