Im, используя код ниже, чтобы создать уникальный i.d. для первичных ключей или где я нуждаюсь в них в программе. Код работает, и никогда не было ошибок, но иногда во время отладки я заметил, что он не всегда увеличивается с ошибками.Создание первичного ключа с NSUserDefaults
Можно ли улучшить код для надежности?
- (NSString*)createUniqueID
{
//create a unique ID
int currentID = [[[NSUserDefaults standardUserDefaults] valueForKey:@"kUniqueID"] intValue];
currentID++;
NSString *returnID = [NSString stringWithFormat:@"%i", currentID];
[[NSUserDefaults standardUserDefaults] setValue:returnID forKey:@"kUniqueID"];
[[NSUserDefaults standardUserDefaults] synchronize]; //added sync
return returnID;
}
заботится о безопасности потоков? –
Тема темы уже вне меня. Сожалею. working ... – user2228755
Зачем использовать 'valueForKey:' и 'setValue: forKey:'? Просто используйте 'integerForKey:' и 'setInteger: forKey:'. Тогда вам не нужно конвертировать в/из строки, чтобы увеличить значение. – rmaddy