Pourquoi NSInteger au lieu de NSUInteger dans "numberOfSectionInTableView:"?

La méthode de source de données UITableView numberOfSectionsInTableView: a un type de return de NSInteger . Cependant, un UITableView ne peut pas avoir une quantité négative de lignes; il a 0 ou plus grandes lignes, alors pourquoi est le type de return de NSInteger? Cela n'autorise-t-il pas les plantages relatifs à un entier négatif renvoyé?

Vous ne pouvez pas faire la vérification (if var < 0) return; avec un entier non signé. C'est la raison standard pour préférer un. Vraiment la seule raison d'utiliser un entier non signé est si vous avez besoin de la pièce supplémentaire pour des numbers plus grands, et vous pouvez garantir que l'input n'essaiera jamais d'être inférieure à zéro.