为什么NSInteger而不是NSUInteger在“numberOfSectionInTableView:”? [英] Why NSInteger instead of NSUInteger in "numberOfSectionInTableView:"?
问题描述
UITableView数据源方法 numberOfSectionsInTableView:
的返回类型为 NSInteger
。但是,UITableView不能有负数行;它有0个或更多的行,那么为什么是NSInteger的返回类型呢?不允许返回与负整数相关的崩溃?
The UITableView data source method numberOfSectionsInTableView:
has a return type of NSInteger
. However, a UITableView cannot have a negative amount of rows; it has 0 or greater rows, so why is the return type of NSInteger? Doesn't that allow for crashes relating to a negative integer being returned?
推荐答案
$ c>(如果var <0)return; 与无符号整数。这是更喜欢一个的标准原因。真正使用无符号整数的唯一原因是,如果你需要额外的空间为更大的数字,你可以保证输入永远不会尝试小于零。
You can't do the check (if var < 0) return;
with an unsigned integer. That is the standard reason for preferring one. Really the only reason to use an unsigned integer is if you need the extra room for larger digits, and you can guarantee the input will never try to be less than zero.
这篇关于为什么NSInteger而不是NSUInteger在“numberOfSectionInTableView:”?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!