Comment get une valeur entière unique dans l'iPhone

Dans mon application iPhone, j'ai besoin d'avoir une valeur entière unique. J'ai besoin de quelque chose comme GUID bu il devrait être entier.

Cet unique doit être unique par appareil ou par user ou par application?

Si besoin d'un de ceux que vous avez besoin de prendre en considération les informations disponibles tout en générant des données. Pour l'appareil, vous pouvez prendre l'adresse mac Wi-FI par exemple et le transformer en identifiant unique.

Il y a une raison pour laquelle les GUID sont 128 bits et non 32. Le risque de collision est bien plus important avec seulement 32 bits. Vous pouvez toujours générer le GUID 128 bits et utiliser uniquement les 32 derniers bits. Tant que vous avez un mécanisme pour gérer la collision, ça devrait aller.

Si vous avez vraiment besoin de quelque chose d'unique et de seulement 32 bits, le moyen le plus sûr est de faire en sorte que le server renvoie de manière incrémentielle l'entier suivant.

Juste pour vous le faire savoir, l'iPhone peut gérer les GUID 128 bits, donc il n'y a aucune raison technique (que je peux voir) de ne pas utiliser les GUID normaux. Je l'essayerais, j'exécuterais des tests et si les performances sont insuffisantes, je considérerais le passage à des entiers 32 bits.