我试图将数值相互比较,但我收到警告“不同符号的整数的比较:'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/

10-10 03:58