Manejo de integers de 64 bits en un iPhone de 32 bits

Me gustaría manejar los integers sin signo de 64 bits en un iPhone 4s (que por supuesto tiene un procesador ARM 6 de 32 bits).

Al intentar trabajar con integers sin signo de 64 bits, por ejemplo, ID de Twitter, tengo el siguiente problema:

// Array holding the 64 bit integer IDs of the Tweets in a timeline: NSArray *Ids =[timelineData valueForKeyPath:@"id"]; // I would like to get the minimum of these IDs: NSUInteger minId = (NSUInteger) Ids.lastObject; 

Los Ids matriz contienen los siguientes numbers (= Id. De Tweet):

 491621469123018752, 491621468917477377, 491621465544851456, 491621445655867393 

Sin embargo, minId devuelve el valor incorrecto de 399999248 (en lugar de 491621445655867393 )

¿Cómo puedo encontrar el mínimo o el último object en una matriz de integers de 64 bits en un iPhone 4s?

NSUInteger usar un tipo que siempre sea de 64 bits en lugar de NSUInteger . Puede usar uint64_t o unsigned long long . También necesita get el valor integer del NSNumber (las matrices no pueden almacenar los types C). para hacer esto debes llamar

 uint64_t minID = [Ids.lastObject longLongValue]; 

Editar

Cambiado para usar uint64_t en el código de ejemplo, ya que se ha señalado correctamente, esto muestra su intención mejor.