¿Alguien tiene la experiencia para explicar cuándo usar NSUInteger y cuándo usar NSInteger?NSUEntero vs NSInteger, int vs unsigned, y casos similares
He visto que los métodos Cocoa devuelven NSInteger incluso en casos en que el valor devuelto siempre estará sin firmar.
¿Cuál es el motivo fundamental? ¿Está NSInteger o int estrictamente limitado a si queremos representar un valor negativo?
De NSObjCRuntime.h:
#if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
typedef long NSInteger;
typedef unsigned long NSUInteger;
#else
typedef int NSInteger;
typedef unsigned int NSUInteger;
#endif
Este es el nuevo enlace https://www.securecoding.cert.org/confluence/display/c/INT02-C.+Understand+integer+conversion+rules –