diff options
Diffstat (limited to 'Firebase/Database/Utilities/FNextPushId.m')
-rw-r--r-- | Firebase/Database/Utilities/FNextPushId.m | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Firebase/Database/Utilities/FNextPushId.m b/Firebase/Database/Utilities/FNextPushId.m index af54e3d..ee3ba13 100644 --- a/Firebase/Database/Utilities/FNextPushId.m +++ b/Firebase/Database/Utilities/FNextPushId.m @@ -26,20 +26,20 @@ static NSString *const PUSH_CHARS = @"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcd static int lastRandChars[12]; long long now = (long long)(currentTime * 1000); - + BOOL duplicateTime = now == lastPushTime; lastPushTime = now; - + unichar timeStampChars[8]; for(int i = 7; i >= 0; i--) { timeStampChars[i] = [PUSH_CHARS characterAtIndex:(now % 64)]; now = (long long)floor(now / 64); } - + NSMutableString* id = [[NSMutableString alloc] init]; [id appendString:[NSString stringWithCharacters:timeStampChars length:8]]; - - + + if(!duplicateTime) { for(int i = 0; i < 12; i++) { lastRandChars[i] = (int)floor(arc4random() % 64); @@ -52,11 +52,11 @@ static NSString *const PUSH_CHARS = @"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcd } lastRandChars[i]++; } - + for(int i = 0; i < 12; i++) { [id appendFormat:@"%C", [PUSH_CHARS characterAtIndex:lastRandChars[i]]]; } - + return [NSString stringWithString:id]; } |