iOS 比较 NSUInteger 和 NSInteger

标签 ios objective-c

我正在尝试将数值相互比较,但我收到警告“比较不同符号的整数:'NSInteger'(又名'inti)和'NSUInteger'(又名'unsigned int')。

这是合乎逻辑的,因为我这样做了 ;)。但是我该如何解决这个警告。这是引发警告的代码:

if (page >= self.controllers.count || page < 0)
    return;

Page 可以是 -1,所以它是一个 NSInteger,但 count 返回一个 NSUInteger。

最佳答案

不要对页面和 -1 使用 NSInteger,而是在使用 -1 的地方使用 NSUInteger 和 NSNotFound。

那么你就是在比较相同的类型。

if (page >= self.controllers.count || page == NSNotFound)
    return;

关于iOS 比较 NSUInteger 和 NSInteger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21847459/

相关文章:

iphone - 在类方法中访问实例变量,Objective C

ios - 如何在 ios wifi 设置中显示自定义文本

ios - 使用 SecItemUpdate 更新钥匙串(keychain) kSecAttrAccessible 返回 -50

ios - 由于访问 Web api 时未捕获异常 'NSInvalidArgumentException' 而导致应用程序终止

iphone - 后台 iOS HTTP 请求

objective-c - 使用日历存储。

ios - 使用 swift 从应用程序 ios 的缓存中读取图像

ios - iTunesConnect 使用什么图标大小

ios - HKSampleQuery 不能重复使用

iphone - Snow Leopard 上的 iOS SDK 4.3 安装错误