我知道类型转换出了问题,从我的角度来看,这确实很陈旧:
月份是 NSArray 所以我那里没有元素: 月数 == 0
这并不像它应该出现的那样工作 0 < 0 -1 是真的吗?
(0 < months.count -1) == true
但这工作正常
(0 < (int)months.count -1) == false
不明白为什么?
最佳答案
count 返回 NSUInteger,它是无符号的,因此 months.count -1
是一个无符号表达式,并且计算结果为正数,因此大于 0。
当您将其转换为 int 时,表达式 (int)months.count -1
被计算为有符号,因此等于 -1,小于 0。
关于objective-c - 0 < 0 -1 是真的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9320999/